为什么要用设备树device tree

1.什么是设备树

这里不会用太多专业名词来解释设备树是什么,如果需要从专业的角度去理解网上有很多相关的书籍和资源供大家参考。这里我用通俗的语言对设备树做一个解释。

举个例子,你的设备驱动是一套炒菜的流程,但是具体用哪个锅,哪种火,是天然气还是电磁炉,你需要告诉他,这些东西也就是你机器的硬件信息。

2.为什么要用设备树

以往驱动的这些硬件信息都是存在一个单独的文件里的,但是你想想,这么多厨师,这么多种菜,显然每一个都准备一个文件来描述,这个会增加Linux内核的冗余度,对内核非常不友好。当一个公司在一个产品上,比如一台手机上,用到了几十个硬件,而且手机还要迭代做很多代,为了尽量避免因为硬件不同带来的软件增加,就选择了设备树,设备树风格很简单,花上几天的时间去看一下就能明白。

3.一定要用设备树吗?什么时候用设备树比较好?

如果你在大公司搬砖,做的是驱动开发相关的岗位,那这个是必须的技能。但是,如果你只是基于一个soc做一两个硬件的驱动,那么不用也是没有任何问题的。

什么时候用比较好,如果你对板子的硬件信息非常清楚,对手册玩的非常透,你在写驱动的时候能够把硬件信息直接写死,不用设备树直接把数据写到驱动里也未尝不可。

但是用设备树确实会有精简工作流程的作用,问题就在于你愿不愿意花时间成本了。

4.设备树怎么学?难点是什么?

小白建议在b站上看一下原子哥的视频,对于入门来说足够了。

难点在于不同芯片厂商提供的设备树的资料得会看,要搞清楚配置的每一个条目是什么意思,这个是比较难的一点。内核提供了函数让我们直接读设备树信息,如果你有时间且愿意花时间去了解,吃透设备树的信息是如何传递给驱动的,也很有意思的,当然不吃透也不耽误使用。

设备树Device Tree)是一种用于描述硬件设备及其配置的数据结构格式,它被广泛应用于嵌入式系统中。设备树使用手册主要包括设备树的概述、语法和用法等方面的内容。 设备树的概述部分介绍了设备树作用和原理,它可以描述系统中的硬件设备以及它们之间的连接关系,使操作系统在启动过程中能够准确识别和配置硬件设备,从而提升系统的兼容性和可移植性。 设备树的语法部分详细介绍了设备树的数据结构和格式。设备树使用一种基于节点和属性的层次结构来表示设备设备之间的关系。每个节点表示一个硬件设备或一个设备的功能模块,节点之间通过属性来描述它们之间的连接和配置关系。 设备树的用法部分介绍了如何在实际开发中使用设备树。它包括编写设备树源文件、编译设备树、加载设备树等步骤。通过编写设备树源文件,开发者可以描述系统中的硬件设备及其配置信息,然后通过编译和加载设备树,操作系统可以根据设备树的描述来识别和配置硬件设备设备树使用手册还可以进一步介绍设备树的工具和技术,例如设备树编辑器、设备树编译器、设备树绑定等。这些工具和技术能够帮助开发者更方便地编写、编译和验证设备树。此外,设备树使用手册还可以提供一些实际应用案例和开发经验,帮助开发者快速上手和解决实际问题。 总结来说,设备树使用手册是用于指导开发者如何使用设备树来描述和配置硬件设备的指南。它包括设备树的概述、语法和用法等内容,并提供了相关工具和技术以及实际应用案例。通过学习和理解设备树使用手册,开发者能够更好地使用设备树来进行嵌入式系统开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Gaosiy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值