[自学笔记] https://www.bilibili.com/video/BV1Tv411q7Rs/?p=36
裸机开发是底层开发,看官方手册和电路,寄存器打交道,使用库函数编写程序进行操作,
Linux驱动开发
- Linux下驱动开发直接操作寄存器不太现实
- 根据Linux下的各种驱动框架进行开发,一定要满足框架,也就是Linux下各种驱动框架的掌握
- 驱动最终表现就是/dev/xxx文件。打开、关闭、读写、…
- 现在新的内核支持设备数,这是一个.dts文件,此文件描述了板子的设备信息。
Linux驱动开发分类
- 字符设备驱动
字符设备驱动是以不定长度的字元来传送资料,字符设备是一个顺序的数据流设备,对这种设备等额读写是按字符进行的,而这些字符设备驱动的关键数据结构有cdev(描述字符设备)和feil_operations结构体的操作
Linux字符设备驱动的组成:
(1)字符设备驱动模块加载荷卸载函数
(2)造福设备驱动的feil_operations结构体的成员函数 - 块设备驱动
和存储相关的设备:Flash,SD,U盘,。块设备驱动是以固定大小长度来传送和转移资料的,踹设备能随机,不需要按照顺序地访问固定大小的数据片 - 网络设备驱动
有线网卡,无线网卡、
一个设备可能属于多个类型,要具体看是什么设备,接口类型等;