linux设备树
文章平均质量分 85
芒果520
每天进步一点点
展开
-
linux 设备树详解
没有Device Tree的ARM linux是如何运转的?1、自己撰写一个bootloader并传递适当的参数给kernel。除了传统的command line以及tag list之类的,最重要的是申请一个machine type,当拿到属于自己项目的machine type ID的时候。2、在内核的arch/arm目录下建立mach-xxx目录,这个目录下,放入该SOC的相关代码,例如中断controller的代码,时间相关的代码,内存映射,睡眠相关的代码等等。此外,最重要的是建立一个board原创 2021-05-13 11:47:21 · 1808 阅读 · 0 评论 -
设备树语法详解
Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,一个.dts(device tree source)文件对应一个ARM的machine,一般放置在内核的"arch/原创 2021-05-20 16:49:49 · 800 阅读 · 0 评论 -
设备数示例图解
/ { node1 { a-string-property = "A string"; a-string-list-property = "first string", "second string"; // hex is implied in byte arrays. no '0x' prefix is required a-byte-data-property = [01 23 34 56]; child-node1...原创 2021-05-21 15:05:51 · 251 阅读 · 0 评论 -
设备树详解二
通过外部芯片片选激活模块。例如,挂载在外部总线上,需要通过片选线工作的一些模块: external-bus{ #address-cells = <2> #size-cells = <1>; ethernet@0,0 { compatible = "smc,smc91c111"; reg = <0 0 0x1000>; .原创 2021-08-18 14:13:10 · 873 阅读 · 0 评论