一,裸机驱动开发回顾
1,单片机开发时,用的是MDK,IAR,CubeMX这样集成IDE开发软件
2,单片机没有官方的库,驱动就是直接通过库函数来初始化具体的外设
二,Linux驱动开发思维
1,没有MDK,IAR这样的集成环境
2,Linux下驱动开发模块,复用型很强。专业术语就是驱动的分离与分层。
3,因为Linux所支持的芯片,架构太多了,所以他需要考虑到为所有的芯片提供统一的驱动框架,Linux驱动的学习就是掌握各种驱动框架。
4,基本不与主控芯片的寄存器打交道
5,在ubuntu下进行开发
6,Linux驱动开发和应用层开发是分开的。驱动做好以后给应用提供的就是一个'文件‘,/dev/xx
7,最新Linux使用一个叫“设备树”文件。.dts编译完就是.dtb === >描述的就是设备的树型文件
三,Linux驱动开发分类
1,Linux驱动分为三大类:字符设备,块设备,网络设备
2,USB网卡, USB驱动,网络驱动