设为首页 加入收藏

TOP

Linux设备驱动之devicetree
2016-12-13 08:15:03 】 浏览:442
Tags:Linux 设备驱动 devicetree

Devicetree(设备树)是用来描述系统硬件信息的树模型,其旨在unify内核。通过bootloader将devicetree的信息传给kernel,然后kernel根据这些设备描述初始化相应的板级驱动,达到一个内核多个平台共享的目的。


Devicetree主要为描述不可插拔(非动态)设备的板级硬件信息而设计的。它由分层的描述设备信息的节点(node)组成树结构。每个node包含的内容通过property/value对来表示。除root节点外,每个节点都有parent。如图所示:
simple example


除root节点名用'/'表示外,其余节点都由node-name@unit-address来命名,且同一层级必须是唯一的。


表示一个节点的完整路径(full path)。型如:


每个节点包含的主要内容就是这个所描述的设备的属性信息,由name和value组成:


描述中断的属性有4个:


Example


所有的设备树都必须有一个root节点,且root节点下必须包含一个cpus节点和至少一个memory节点。


更多具体设备具体类别的描述信息:内核源代码/Documentation/devicetree/bindings。


DTS是描述devicetree的源文本文件,它通过内核中的DTC(Devicetree Compiler)编译后生成相应平台可烧写的二进制DTB。


DTB又称Flattened Devicetree(FDT),在内存中的结构如下图所示:
dtb overview


大端字节序结构体:


Devicetree结构体存放的位置。由一行行“token+内容”片段线性组成。


Version 1 DTS files have the overall layout:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Struts1运用Java注解实现简单的权.. 下一篇Linux设备驱动之platform

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目