设备树规范v0.3:Devicetree Specification解读
需积分: 14 184 浏览量
更新于2024-07-09
收藏 450KB PDF 举报
"devicetree-specification-v0.3.pdf"
设备树规范是嵌入式系统,特别是Linux在各种硬件平台上运行时的核心组件之一。它提供了一种方式来描述硬件结构,使得操作系统能够理解硬件的具体配置,从而进行初始化和驱动程序的加载。这份文档是设备树规范的v0.3版本,由devicetree.org发布,日期为2020年2月13日。
1. 设备树的基本概念和范围
- 目的和范围:设备树的主要目标是为硬件平台定义一种标准化的描述语言,以便于操作系统(如Linux)能够动态地适应不同的硬件配置。
- 关系:设备树规范与IEEE 1275和ePAPR(嵌入式PowerPC架构平台参考)有密切关系,但提供了更通用的32位和64位支持。
2. 设备树的构成和约定
- 概览:设备树由一系列节点和属性组成,描述了从处理器、内存到外设的所有硬件组件。
- 节点命名:节点名称遵循一定的规则,通常与硬件的物理位置或功能相关联。
- 通用名称推荐:建议使用清晰、无歧义的名称,便于理解和维护。
- 路径名称:节点路径用于唯一标识节点在设备树中的位置。
- 属性:每个节点可以包含多个属性,这些属性提供了关于节点的详细信息。
3. 标准属性
- `compatible`:标识硬件兼容的驱动程序列表。
- `model`:描述硬件的型号或具体实现。
- `phandle`:节点处理程序,用于在节点间引用。
- `status`:表示设备当前的状态,如“okay”、“disabled”等。
- `#address-cells` 和 `#size-cells`:定义子节点地址和大小信息的单元数量。
- `reg`:描述设备的物理地址范围。
- `virtual-reg`:虚拟地址映射信息。
- `ranges`:转换子节点的物理地址到总线地址。
- `dma-ranges`:描述DMA(直接存储器访问)地址范围。
- `name`(已废弃):早期的设备名称。
- `device_type`(已废弃):用于标识设备类型。
4. 中断和中断映射
- 设备中断产生器的属性:描述如何生成中断信号。
- 中断控制器的属性:定义中断控制器的特性。
- 中断连接点属性:用于连接中断生成器和控制器。
- 中断映射示例:展示中断如何在设备树中表示和映射。
5. Nexus节点和指定器映射
- Nexus节点属性:定义Nexus节点的特定属性,Nexus是中断和设备连接的层次结构。
- 指定器映射示例:展示如何通过设备树描述复杂的中断层次结构。
6. 设备节点要求
- 基本设备节点:规定了每个设备节点应包含的基本信息。
这份规范详细阐述了设备树的结构、语法规则以及标准属性,旨在为硬件描述提供一致性,使得操作系统能够高效地管理硬件资源。对开发和调试嵌入式Linux系统的工程师来说,理解并应用这个规范是至关重要的。
2020-07-24 上传
2020-10-23 上传
2021-05-26 上传
2021-12-02 上传
2023-10-25 上传
2019-10-18 上传
霍宏鹏
- 粉丝: 382
- 资源: 15
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器