前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DTS,DTC, DTB你都认识吗?

DTS,DTC, DTB你都认识吗?

作者头像
用户1605515
发布2018-04-11 11:02:14
3.7K0
发布2018-04-11 11:02:14
举报
文章被收录于专栏:嵌入式程序猿

在现在的linux内核中都采用设备树来管理资源分配和模块装载,减少依赖性,在树莓派的内核系统中也是这样,设备树其实就是硬件资源的描述文件,代表硬件配置的节点,每一个节点又可以包括子节点和属性。设备树文件一般都是以.dts为后缀的文本文件,即我们常说的DTS(Device TreeSource), 语法有点像C语言,但还是有区别的,要注意。如下面的文件就是一个DTS文件

代码语言:javascript
复制
/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.txtusage-model.txt文件内容。关于设备树中的节点和属性是如何来描述硬件细节的可以参考bindings文件中的文档,都有详细的说明。设备树的理解和应用也是一个难点,希望大家都理解和掌握。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档