北京去哪里医院看白癜风比较好 http://pf.39.net/bdfyy/bdfjc/index.html[导读]新版的U-Boot以及内核都引入了设备树,那么这究竟是棵什么样的树呢?长啥样?有啥用?为啥弄个这样的树?本文基于对设备树标准的理解,来学习整理一下相关的要点,供大家参考。
Linux为啥要设备树?
在Linux3.x之前的内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,而且更严重的问题是,由于ARM商业生态模式,基于ARMIP授权模式,产生越来越多ARM核芯片。如此一来这类辣鸡代码越来越多,维护变得愈加困难。于是在年3月17这天,Linux之父LinusTorvalds飙了,邮件中骂到:“thiswholeARMthingisaf*ckingpainintheass”。
自此之后,Linux内核引入了设备树机制以描述计算机板机底层硬件信息。
啥是设备树?
设备树(devicetree)是一种描述特定计算机的硬件组件的数据结构,以便操作系统的内核或者引导程序可以使用和管理那些组件,包括一个或多个CPU,内存,总线和外围设备。为什么说这个数据结构是树呢?
设备树是通过OpenFirmware项目从基于SPARC的工作站和服务器发展而来,由