DTS
设备树相关
雲烟
可以卑微如尘土,不可扭曲如蛆虫。
展开
-
设备树dts用法
目录基本数据格式.dts简单树基本概念:第一步:构建框架结构。第二步:CPU进行详细描述。补充:节点名称第三步:设备进行描述。compatible属性详解寻址方式CPU寻址内存映射的设备非内存映射设备地址范围中断如何使用设备特定数据特殊节点aliases节点chosen节点基本数据格式设备树组成:节点和属性。属...原创 2020-02-27 17:46:53 · 1595 阅读 · 0 评论 -
imx7自定义设备树
背景:根据自己需求更改官方提供设备树。设备树目录:内核源码文件内arch/arm/boot/dts/。复制一份源dts。cp arch/arm/boot/dts/imx7d-colibri-eval-v3.dts arch/arm/boot/dts/imx7d-colibri-eval-my-carrier.dts 扩展Makefile,加入对新dts的编译支持。vi arch/arm/...原创 2020-02-27 17:44:07 · 965 阅读 · 0 评论 -
device_node转换为platform_device
整个转换过程是这样的: dts -> dtb -> device_node-> platform_device设备树中有很多的device_node,那到底哪些才可以转换成platfor...原创 2019-08-07 19:10:40 · 474 阅读 · 0 评论 -
dtb转换为内核的device_node
函数调用过程:start_kernel //init/main.c setup_arch(&command_line) //arch/arm/kernel/setup.c arm_memblock_init(mdesc) //arch/arm/kernel/setup.c early_init_fdt_reserve_self(); //把d...原创 2019-08-07 14:24:38 · 326 阅读 · 0 评论 -
kernel对dtb配置信息运行中的处理
例子:dts中简单节点:/{ chosen{ bootargs = "noinitrd root=/dev/mtblock4 rw init=/linuxrc console=ttySAC0,115200"; };};此节点就指定了kernel启动时的命令行参数:指定了根文件系统在哪里: root=/dev/mtblock4 rw 指定了第一个...原创 2019-08-06 21:31:44 · 553 阅读 · 0 评论 -
kernel与dtb的匹配过程
根据内核文档,设备树会分为三类:platform identification runtime configuration device populationbootloader启动内核时,会设置r0,r1,r2三个寄存器,把定义好的machine id传给内核:r0一般设置为0 r1一般设置为machine id (在使用设备树时该参数没有被使用) ...原创 2019-08-06 20:38:35 · 1423 阅读 · 0 评论 -
设备树规则-dtb
DTC工具的作用: 将dts中的宏定义展开,检查dts中的语法错误等,最终编译成唯一的一个dtb文件。DTB文件布局(大端字节序): 大小端字节序只对存储数值有影响,对于字符串的存储是一样的,比如“abc”,永远是低:a,中:b,高:c。struct ftd_header (free space) memory reservation blo...原创 2019-08-06 13:27:22 · 330 阅读 · 0 评论 -
设备树规则-dts
DTS文件布局(layout):/dts-v1/; [ memory reservations ] / { [ property definetions ] ...原创 2019-08-06 12:33:48 · 934 阅读 · 0 评论 -
linux设备树前述
一个好的驱动程序,会确定所用资源,只把不能确定的资源留给设备树,让设备树来指定。 根据原理图确定“驱动程序无法确定的硬件资源”,再在设备树文件中填写对应内容,那么,填写的内容的格式是什么?看文档,别人提供的驱动程序,怎么编写设备树文件,查看文档/Documentation/devicetree/bindings 参考同类型板子的设备树文件 网上查找 研究驱动源码...原创 2019-08-06 10:08:48 · 150 阅读 · 0 评论