應用層調用內核層函數稱為系統調用
1.硬件設備管理
? ? ? ? 1,字符設備驅動(一個一個字節)——芯片內部外設? :WDT,Timer,adc,iic,SPI,R,UART,LCD,CAMERA,USB,Keyboard,Mouse
? ? ? ? 2,塊設備驅動(一次512字節 )——用于存儲設備中
? ? ? ? 3,網絡設備驅動? ? ? ? ——協議棧,TCP/IP , Zigbee , bluetooth
BSP 開發:看門狗,芯片內部開發,led燈,蜂鳴器
LCD開發:rgb接口,hdmi接口
CAMERA開發
2,點亮一個led燈流程(一個燈就是一個文件)
? ? ? ? 用戶——》用戶層 dev/led? (open)? ——》主次設備號(主設備號代表哪一類設備,次設備號代表第幾個設備)——》cdev——》file_operations(為cdev的結構體)
->open/read/write/release? -》ioremap (映射實際物理地址)-》寄存器
后簡化為
這三部簡化為
其他設備:
3,系統移植流程
? ? ? ? 1,uboot:? 如何燒入:JLINK——>nor? flash(可之間上電執行)
? ? ? ? 2,內核:ubuntu 系統fifpboot
? ? ? ? 3,文件系統:Ubuntu 系統 tfs