linux设备树编译简介(linuxdts介绍)

Linux设备树编译简介

Linux设备树是指Device Tree,它是一种新的方式,允许操作系统内核根据具体硬件结构进行构建、编译和部署。Linux设备树(也被成为 DT,DTB 或设备树)是用于内核空间的层次性数据结构,它描述了所进行编译的硬件的细节,使内核能够管理不同的硬件。

Linux设备树编译大致包括:组装和链接(assemble and link),预处理(preprocessing),编译(compilation),汇编(assembly),编译类库(compile the libraries),打包(packing)以及部署(deployment)等。

组装和链接(assemble and link)步骤中,通过各个源文件组装生成子程序,并将它们链接起来生成最终成果,不过该步骤基本是编译器自动完成的。

预处理(preprocessing)阶段,是将源文件中的宏处理替换,如‘#include’,‘#define’,‘#ifdef’等宏等替换,该步骤也是编译器自动实现的。

编译(compilation)阶段,把预处理结果编译成机器可识别的汇编语言样式,汇编(assembly)阶段,将编译的结果转换成机器码,将编译的源代码转换成特定机器类型可以识别的机器码,由于 Linux设备树会根据硬件的不同进行编译,因此编译的机器码会不同。

编译类库(compiling libraries)阶段,会对每个被编译的源文件进行链接,产生一个完整的可执行文件。

打包(packing)步骤,在这一步中,会使用特定的 Linux 工具,来剥离元文件,以及打包产生的机器码和 Linux 设备树文件,最终结果就是一个完整的设备树文件,设备树文件的后缀为“.dtb”。

最后一步是部署(deployment),部署文件会和 Linux 核心文件一起写入到管理内存( RAM )中,以便于让内核根据设备树文件运行。

以上就是Linux设备树编译的基本步骤,不同的硬件需要根据个性化配置,进行编译和部署 Linux 设备树,以满足不同应用场景。

“`make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

dtb- [DTB]“`

“`mkimage -T script -C none -A arm -d script.bin script.ub“`


数据运维技术 » linux设备树编译简介(linuxdts介绍)