应用层调用内核层函数称为系统调用
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