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

设备总线驱动模型:
(1)将使用led的引脚配置单独写成一个结构体,只需要提供要配置哪个引脚(如GPIO1_3)即可完成GPIO的配置
(2)但是这样子 每种资源都要定义一个resource如:led_resource、key_resource等,这样子不现实
(3)统一用一个platform_device结构体来定义资源,定义用哪个引脚、寄存器是多少
(4)对于硬件的操作也用一个platform_driver结构体来定义,固定的驱动程序放在该结构体内,如何write\read等


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

被折叠的 条评论
为什么被折叠?



