认识设备树(一)——概述

1 前言

如何去描述设备这一定是设备驱动需要考虑的重要问题。早先,linux中ARM架构使用源文件中的宏、结构等去描述设备,不过现在已全面转向设备树。使用文本来描述设备,肉眼可见的方便。本文就是本人学习设备树的笔记,即是对自己学习的知识做个总结和整理,也为方便后来人。

2 为什么需要设备树

2.1 单片机中的设备驱动

在单片机编程中,通常不存在复杂的驱动框架,所有关于设备本身以及使用设备的程序都混杂在一起。比如使用芯片at24c08,通常的做法是建立一个名为at24c08.c的源文件以及at24c08.h的头文件,然后在上述两个c语言文件中定义芯片使用的管脚、占用的中断、驱动程序等。

假如另外一个项目也用到了该芯片,那么我们直接把相应的头文件、源文件复制过来就可以了吗?当然不是,最起码,芯片使用的引脚可能变化了,因此要修改定义的相应硬件信息。经过简单的修改似乎就能使用了,看起来也挺方便的。果真方便么?有技术大牛说过,复制粘贴往往伴随着坏味道。现在考虑坏在哪里,通过这种方式管理外设,则当存在很多使用at24c02的项目存在时,那么就相应存在着多份有细微差别但大部分重复的at24c08.cat24c08.h,如果驱动本身没问题还好,如果有bug,那么bug也被复制了,维护起来绝对让人头疼,一次维护要囊括多份,使它们仅保持部分硬件信息的差异。否则,有些bug修复了,有些bug没有修复&#

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值