使用树莓派学习Linux驱动开发-04 总线设备驱动模型编写LED驱动程序(引入设备树指定LED引脚)

前言

本文在《03 总线设备驱动模型编写LED驱动程序》基础之上继续改进,将board_pi4b_led.c资源定义文件删除,转而在设备树中定义LED引脚的指定。

一、设备树的引入与作用

在前三篇内容中的LED驱动程序,LED所使用的GPIO引脚都是定义在源码中的,当需要修改LED所使用的GPIO引脚时都需要重新对源码重新编译,并重新加载驱动,这样非常的不方便。
在内核中,同一芯片(bcm2711)的板子,我们使用的是树莓派4B来进行学习,同一芯片的GPIO资源是一样的,如果大家都使用bcm2711主芯片来设计开发板,传统的方法下,需要在内核中需要对每一块主板都添加一个board_xxx_led.c文件用于资源的定义(因为每块板的LED所使用的GPIO引脚不一定一致),这样就会使得内核存在很多垃圾代码。
设备数就是在这样的背景下引入的,同一芯片的资源分配不再包含在内核源码中,而是使用设备树文件dtb文件进行替代。设备树并不是驱动文件,而只是一个用来描述主板中设备资源分配的一个文件。

二、使用步骤.

本文的示例代码使用的是GPIO19和GPIO26两个引脚来演示。
设备树文件需要在根节点下加入如下内容:

#define G
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三哥编程分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值