设备树
设备树的由来以及基本概念

设备树文件代替的是device.c文件,拿到了内核外面,platform匹配上基本不变,不用重新编译内核了;
采用文本格式;


语法结构像树一样;

设备树基本语法

节点


阅读源文件,看节点从左往右看;看节点内容从上往下看;
节点名称

节点别名

uart8和serial关系
节点的引用


属性
reg属性

address-cells和size-cell


compatible属性

status属性

设备树中添加自定义节点
查看节点


此方法与上面的一样
编写自定义节点

编译自定义节点


注意配置ARCH 、CROSS_COMPILE
只编译一个dts文件

编译后生成文件在哪

烧写文件
略
设备树中常用的of操作函数

2个结构体
查找节点函数
of_find_node_by_path()
查找节点属性函数
of_find_property()
读取属性值
示例
查找我们要查找的节点 of_find_node_by_path()

获取属性值 of_find_property()



根据读类型,选择函数
设备树下的platform总线
根节点里compatible属性,是跟内核匹配的如下

也就是说内核的运行,依赖设备树


确保已经有此节点了

3个name,优先级of_match_table > id_table > driver.name
获取属性

使用设备框架驱动,生成设备节点
补充知识点:


如果,感到此时的自己很辛苦,那告诉自己:容易走的都是下坡路。坚持住,因为你正在走上坡路,走过去,你就一定会有进步。如果,你正在埋怨命运不眷顾,开导自己:命,是失败者的借口;运,是成功者的谦词。命运从来都是掌握在自己的手中,埋怨,只是一种懦弱的表现;努力,才是人生的态度。

浙公网安备 33010602011771号