当前位置:首页 > 公众号精选 > 嵌入式云IOT技术圈
[导读]点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!最近一段时间可以说是又重操旧业了,回到过去的底层驱动开发,当然过段时间还是会回到Linux应用开发的。所以现状基本上天天都在Linux内核以及Linux驱动打交道;当前很多驱动都是现成的,设备树的适配工作...

点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!

最近一段时间可以说是又重操旧业了,回到过去的底层驱动开发,当然过段时间还是会回到Linux应用开发的。所以现状基本上天天都在Linux内核以及Linux驱动打交道;当前很多驱动都是现成的,设备树的适配工作成为驱动工程师的必备技能之一,所以我们有必要来详细学习一下,以下是我学习韦东山老师的设备树教程自己做的一些笔记:

1、为什么叫设备树?

1.1、如何描述这棵设备树?
我们需要编写设备树文件 (dts: device tree source) ,它需要编译为 dtb(device tree blob) 文件,内核使用的是 dtb 文件。

1.2、设备树格式
1.2.1、 dts 文件的格式
/dts-v1/; // 表示版本
[memory reservations] // 格式为: /memreserve/  ;
/ {
    [property definitions]
    [child nodes]
};
1.2.2、 node 的格式
[label:] node-name[@unit-address] {
 [properties definitions]
 [child nodes]
};
label 是标号,可以省略。label 的作用是为了方便地引用 node,比如:

/dts-v1/;
/ {
    uart0: uart@fe001000 {
       compatible="ns16550";
       reg=<0xfe001000 0x100>;
    };
};
可以使用下面 2 种方法来修改 uart@fe001000 这个 node:

// 在根节点之外使用 label 引用 node:
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭