Linux设备树原理

转:http://blog.csdn.net/Q1302182594/article/details/52412202

1 简介

    在没有设备树以前,需要将开发板的信息硬编码到内核的.c源文件中。不同开发板的硬件配置不一样,因此内核中存在大量的板级配置源码,从而造成代码冗余。

    针对上述现象,PowerPC使用设备树的方法将板级配置信息独立存放到.dts.dtsi文件中。此时,针对不同的开发板,只需要配置相应的.dts.dtsi文件即可,从而避免大量重复的编码工作。

    由于设备树具有上述优点,2011年开始Linux内核大规模采用这种机制(起初只是PowerPC使用而已),因此对于现在从事Linux底层开发的人员而言,必须了解设备树的原理和使用方法。

2 设备树语法

    关于设备树的语法,网上资料较多,具体可以参考[1][9],本文不再赘言。

3 设备树展开

    定义好设备树文件之后,内核是如何使用设备树的呢?参考资料[2]针对tiny4412开发板对内核如何展开设备树进行了较为具体的分析,参考资料[11]更是对设备树的源码进行了较为详细的分析。


参考资料

[1]ARM Linux 3.x的设备树(Device Tree)

[2]基于tiny4412的Linux内核移植 -- 设备树的展开

[3]Exynos4412 中断驱动开发(三)—— 设备树中中断节点的创建

[4]linux设备树dts移植详解

[5]设备树概述

[6]imx6设备树pinctrl解析 

[7]Linux设备树(Linux Device Tree)学习

[8]我眼中的Linux设备树(Device tree)概述

[9]Linux设备驱动开发详解--基于最新4.0内内核

[10]Device Tree(二):基本概念

[11]Device Tree(三):代码分析


你可能感兴趣的:(Linux设备树原理)