设备分类:
例如网络设备、触控设备等,在krldevice_t.h文件中;
设备驱动:
设备:
device_t 结构代表一个设备类型,其中devid_t 结构代表设备id结构,包含设备类型、设备号、子设备号等;
驱动:
driver_t 结构代表一个驱动程序,包含驱动名、驱动程序id、驱动程序管理的设备;
设备驱动的组织:设备表
devtable_t 结构代表一个设备表,组织驱动程序数据结构和设备数据结构;其中包含一个devtlst_t 结构代表一个设备类型,表示一类设备;还有全局设备表、全局驱动程序表;
init_krl 函数调用init_krldevice 初始化设备表函数,一定要在初始化调度器之前,初始化设备表;
驱动程序功能:
驱动程序入口函数和退出函数、中断处理函数、打开关闭设备函数、读写设备数据函数、调整读写设备数据位置、控制设备函数、开启停止函数、设置设备电源、枚举设备、刷新设备缓存、设备关机函数等;函数形式不能改变;
driver_t 结构中的drv_dipfun 函数指针数组正是存放上述驱动函数的指针;
这部分之前我看过宋宝华的 lddr 和 B站韦东山的视频,有些了解;
标签:初始化,15,函数,驱动,驱动程序,设备,结构 From: https://www.cnblogs.com/xuan01/p/17364274.html