欢迎光临散文网 会员登陆 & 注册

盈响鸿蒙系统驱动开发—嵌入式系统开发系类笔记

2023-05-21 20:12 作者:bili_73767213996  | 我要投稿

一、Linux字符设备驱动初步

1、Linux设备类型

(1)字符设备:只能一个字节一个字节的读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后顺序进行。字符设备是面向流的设备,常见的字符设备如鼠标、键盘、串口、控制台、LED等。

(2)块设备:是指可以从设备的任意位置读取一定长度的数据设备。块设备如硬盘、磁盘、U盘和SD卡等存储设备。

(3)网络设备:网络设备比较特殊,不在是对文件进行操作,而是由专门的网络接口来实现。应用程序不能直接访问网络设备驱动程序。在/dev目录下也没有文件来表示网络设备。

2、开发流程

3、关键函数讲解(以2.6以下版本内核为例)

(1)驱动模块注册register_chrdev()函数

原型:

major:主设备号,该值为 0 时,自动运行分配。而实际值不是 0 ;

name:设备名称;

fops:操作函数,实现驱动定义的open、read、write、close等内核函数与应用程序调用的open、read、write、close间的映射;


盈响鸿蒙系统驱动开发—嵌入式系统开发系类笔记的评论 (共 条)

分享到微博请遵守国家法律