最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

焦点!15 设备类型与设备驱动

来源:博客园

设备分类:

例如网络设备、触控设备等,在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站韦东山的视频,有些了解;

关键词: