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

本文探讨了为什么Linux系统需要设备树,从单片机设备驱动的不便到Linux的总线-设备-驱动模型,指出设备树作为解决设备信息和驱动分离的方案,避免了源文件描述设备导致的编译内核问题。后续章节将深入介绍设备树的格式、传递方式、内核解析过程以及实际使用案例。

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

1 前言

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

2 为什么需要设备树

2.1 单片机中的设备驱动

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

假如另外一个项目也用到了该芯片,那么我们直接把相应的头文件、源文件复制过来就可以了吗?当然不是,最起码,芯片使用的引脚可能变化了,因此要修改定义的相应硬件信息。经过简单的修改似乎就能使用了,看起来也挺方便的。果真方便么?有技术大牛说过,复制粘贴往往伴随着坏味道。现在考虑坏在哪里,通过这种方式管理外设,则当存在很多使用at24c02的项目存在时,那么就相应存在着多份有细微差

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值