每日一博 | 从 Linus Torvalds 一封发飙的电邮开始谈设备树究竟是棵什么树?
关注、星标 嵌入式客栈 ,精彩及时送达 [导读] 新版的U-Boot以及内核都引入了设备树,那么这究竟是棵什么样的树呢? 长啥样? 有啥用? 为啥弄个这样的树? 本文基于对设备树标准的理解,来学习整理一下相关的要点,供大家参考。 Linux为啥要设备树? 在Linux3.x之前的内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,而且更严重的问题是,由于ARM商业生态模式,基于ARM IP授权模式,产生越来越多ARM核芯片。如此一来这类辣鸡代码越来越多,维护变得愈加困难。于是在2011年3月17这天,Linux之父Linus Torvalds飙了,邮件中骂到:“this whole ARM thing is a f*cking pain in the ass”。 自此之后,Linux内核引入了设备树机制以描述计算机板机底层硬件信息。 啥是设备树? 设备树(device tree)是一种描述特定计算机的硬件组件的数据结构,以便操作系统的内核或者引导程序可以使用和管理那些组件,包括一个或多个CPU,内存...

