韦东山老师Linux设备树学习笔记(一)
时间:2021-09-03 10:11:52
手机看文章
扫描二维码
随时随地手机看文章
[导读]点击上方「嵌入式云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: