今天给大家介绍一下DTS、DTC和DTB如何理解。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。
在现在的linux内核中都采用设备树来管理资源分配和模块装载,减少依赖性,在树莓派的内核系统中也是这样,设备树其实就是硬件资源的描述文件,代表硬件配置的节点,每一个节点又可以包括子节点和属性。设备树文件一般都是以.dts为后缀的文本文件,即我们常说的DTS(Device TreeSource), 语法有点像C语言,但还是有区别的,要注意。如下面的文件就是一个DTS文件
/dts-v1/;
/include/ "common.dtsi";
/ {
node1 {
a-string-property ="A string";
a-string-list-property = "first string", "secondstring";
a-byte-data-property= [0x01 0x23 0x34 0x56];
cousin: child-node1{
first-child-property;
second-child-property = <1>;
a-string-property = "Hello, world";
};
child-node2 {
};
};
node2 {
an-empty-property;
a-cell-property =<1 2 3 4>; /* each number (cell) is a uint32 */
child-node1 {
my-cousin =<&cousin>;
};
};
};
/node2 {
another-property-for-node2;
};
这里大家要注意一点一个DTS文件可以包含其他的DTS文件,如上图中的/include/"common.dtsi";这有点像C语言中的头文件包含。
那么这个DTS文件经过DTC(DeviceTree Compiler)编译后就变为DTB(DeviceTree Blob)文件。
关于更多DTS的语法和用法大家可以参考内核文档的booting-without-of.txt和usage-model.txt文件内容。关于设备树中的节点和属性是如何来描述硬件细节的可以参考bindings文件中的文档,都有详细的说明。设备树的理解和应用也是一个难点,希望大家都理解和掌握。
以上就是DTS、DTC和DTB如何理解的全部内容了,更多与DTS、DTC和DTB如何理解相关的内容可以搜索亿速云之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下亿速云!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。