Linux驱动进化:传统模型、设备总线驱动模型、设备树

本文讨论了从字符驱动的逐个配置到设备总线驱动模型的改进,包括使用platform_device和platform_driver简化资源管理,以及设备树(DTS)在内核外定义硬件配置并自动加载硬件信息。重点介绍了如何通过driver_override、name匹配和probe函数实现设备与驱动的高效连接。

传统写法:

按照字符驱动编写步骤一一编写。每个引脚的配置都要单独写一个函数,或者映射它的物理内存到一个虚拟内存中

设备总线驱动模型:

(1)将使用led的引脚配置单独写成一个结构体,只需要提供要配置哪个引脚(如GPIO1_3)即可完成GPIO的配置

(2)但是这样子 每种资源都要定义一个resource如:led_resource、key_resource等,这样子不现实

(3)统一用一个platform_device结构体来定义资源,定义用哪个引脚寄存器是多少

(4)对于硬件的操作也用一个platform_driver结构体来定义,固定的驱动程序放在该结构体内,如何write\read等

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值