Linux驱动学习心得

本文介绍了Linux驱动子系统的构成及分类,包括有总线架构和无总线架构的子系统。详细阐述了设备驱动程序的编写步骤,以及字符设备、块设备、网络设备在Linux系统中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

① Linux驱动子系统一般包含:设备控制器、设备、驱动、总线

可分为:

    1、由总线架构的子系统:I2C、SPI、SDI、USB、CAN、PCI

     2、无总线架构的子系统:Input子系统、帧缓冲子系统、MTD子系统

② 有总线架构的子系统需要的数据结构

1、与CPU相关的总线接口的设备控制器

2、与设备相关的设备描述

3、与设备驱动相关的设备描述

4、与通信(协议)方法相关

5、与通信数据相关

6、总线描述(I2C_BUS_TYPE,SPI_BUS_TYPE,MMC_BUS_TYPE)

③ 关于字符设备、块设备、网络设备在Linux驱动中的作用

1、在/dev下创建字符、块设备节点,为应用程序提供设备访问节点

2、在驱动中向Linux系统注册字符、块、网络设备,并且实现file_operations,blk_operations

注意:总线上的设备并不表示是设备节点

④设备驱动程序的编写步骤

1、对设备进行分类(字符、网络、块设备)

2、确定与设备通信的总线类型(I2C、SPI、USB、MMC)

3、确定设备的操作方法(读/写),最终实现对设备的读/写操作

4、利用Linux提供的子系统来编写设备的驱动程序

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值