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]:项目执行中的三大管理者:项目活动管理职能部门管理产品架构设计。

9=3 磁盘存储与分区

PDMS设备平台梯子建模出图-顶平台支架建模

Linux驱动子系统剖析 | Linux设备与驱动分离思想的代表作——platform总线模型

Linux驱动子系统剖析 | Linux设备与驱动分离思想的代表作——platform总线模型

“您的设备与此版本不兼容”