15 设备类型与设备驱动
Posted xuan01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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站韦东山的视频,有些了解;
Linux驱动子系统剖析 | Linux设备与驱动分离思想的代表作——platform总线模型
专栏介绍
本系列专栏文章专注于Linux内核常见的驱动子系统/框架剖析,开发平台使用RK3399平台,Linux内核使用5.4.32版本。
文章目录
以上是关于15 设备类型与设备驱动的主要内容,如果未能解决你的问题,请参考以下文章
[项目管理-15]:项目执行中的三大管理者:项目活动管理职能部门管理产品架构设计。
Linux驱动子系统剖析 | Linux设备与驱动分离思想的代表作——platform总线模型