设备书
- 格式:pdf
- 大小:18.61 MB
- 文档页数:85


设备树解析【转】转⾃:⼀、描述ARM Device Tree起源于OpenFirmware (OF),在过去的中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着⼤量的垃圾代码,相当多数的代码只是在描述板级细节,⽽这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data。
为了改变这种局⾯,Linux社区的⼤⽜们参考了PowerPC等体系中使⽤的Flattened Device Tree(FDT),也采⽤了Device Tree结构,许多硬件的细节可以直接透过它传递给Linux,⽽不再需要在kernel中进⾏⼤量的冗余编码。
Device Tree是⼀种描述硬件的,它起源于 OpenFirmware (OF)。
在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,采⽤Device Tree后,许多硬件的细节可以直接透过它传递给Linux,⽽不再需要在kernel中进⾏⼤量的冗余编码。
Device Tree由⼀系列被命名的结点(node)和属性(property)组成,⽽结点本⾝可包含⼦结点。
所谓属性,其实就是成对出现的name和value。
在Device Tree中,可描述的信息包括(原先这些信息⼤多被hard code到kernel中):CPU的数量和类别内存基地址和⼤⼩总线和桥外设连接中断控制器和中断使⽤情况GPIO控制器和GPIO使⽤情况Clock控制器和Clock使⽤情况它基本上就是画⼀棵电路板上CPU、总线、设备组成的树,Bootloader会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出Linux内核中的platform_device、i2c_client、spi_device等设备,⽽这些设备⽤到的内存、IRQ等资源,也被传递给了内核,内核会将这些资源绑定给展开的相应的设备。
设备树中中断的描述中断是计算机系统中的一种重要机制,用于处理来自外部设备的异步事件。
在设备树中,中断的描述是为了告知操作系统和其他软件,设备在何时向系统发送中断信号以及如何处理这些中断。
通过设备树中的中断描述,操作系统可以正确地配置设备的中断控制器,并将中断信号与相应的中断处理程序关联起来。
设备树中的中断描述通常包括以下几个方面的信息:中断控制器的类型、中断号、中断触发模式和中断处理程序的入口地址。
其中,中断控制器的类型用于告知操作系统使用何种机制来处理中断。
常见的中断控制器类型有GPIO中断控制器、GIC(通用中断控制器)等。
中断号是设备向操作系统发出中断信号时所使用的标识,它可以是一个整数值或者一个字符串。
中断触发模式描述了设备在何种条件下触发中断,常见的触发模式有上升沿触发、下降沿触发、高电平触发和低电平触发等。
中断处理程序的入口地址是操作系统在接收到中断信号后要执行的代码的地址。
设备树中的中断描述通常以节点的形式出现,每个节点代表一个设备。
节点中包含了设备的中断控制器类型、中断号、中断触发模式和中断处理程序的入口地址等信息。
设备节点可以嵌套在其他节点中,以反映设备之间的层次关系。
通过设备树中的中断描述,操作系统可以根据设备的中断需求进行相应的中断配置和中断处理程序的注册。
当设备发生中断时,中断控制器会向操作系统发送中断信号,操作系统根据设备树中的中断描述找到相应的中断处理程序,并执行相应的代码来处理中断事件。
这样,操作系统可以及时响应设备的中断,并进行相应的处理。
设备树中的中断描述是为了告知操作系统和其他软件设备的中断需求,以便系统能够正确地配置中断控制器,并进行中断处理。
中断描述的信息包括中断控制器的类型、中断号、中断触发模式和中断处理程序的入口地址。
通过这些信息,操作系统可以正确地响应设备的中断,并进行相应的处理。
这样,系统可以更好地管理和控制各种外部设备的中断,确保系统的稳定性和可靠性。
uefi 与设备树解析流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!UEFI解析流程。
1. 引导固件执行UEFI固件启动顺序。
linux设备树笔记__dts基本概念及语法【转】设备树⼿册(Device Tree Usage)原⽂地址:/Device_Tree_Usage有关device tree数据格式的更完整技术说明,读者可以参考ePAPR规范(/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf)概述:ARM Device Tree起源于OpenFirmware (OF),在过去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着⼤量的垃圾代码,相当多数的代码只是在描述板级细节,⽽这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data。
为了改变这种局⾯,Linux社区的⼤⽜们参考了PowerPC等体系架构中使⽤的Flattened Device Tree(FDT),也采⽤了Device Tree结构,许多硬件的细节可以直接透过它传递给Linux,⽽不再需要在kernel中进⾏⼤量的冗余编码。
Device Tree是⼀种描述硬件的数据结构,由⼀系列被命名的结点(node)和属性(property)组成,⽽结点本⾝可包含⼦结点。
所谓属性,其实就是成对出现的name和value。
在Device Tree中,可描述的信息包括(原先这些信息⼤多被hard code到kernel中):CPU的数量和类别,内存基地址和⼤⼩,总线和桥,外设连接,中断控制器和中断使⽤情况,GPIO控制器和GPIO使⽤情况,Clock控制器和Clock使⽤情况。
通常由.dts⽂件以⽂本⽅式对系统设备树进⾏描述,经过Device Tree Compiler(dtc)将dts⽂件转换成⼆进制⽂件binary device tree blob(dtb),.dtb⽂件可由Linux内核解析,有了device tree就可以在不改动Linux内核的情况下,对不同的平台实现⽆差异的⽀持,只需更换相应的dts⽂件,即可满⾜,当然这样会增加内核的体积。