嵌入式设备树语法总结和of函数

本文详细介绍了嵌入式Linux中的设备树概念,包括设备树的起源、作用和基本框架。设备树是一种描述硬件的数据结构,用于替代平台设备的硬编码,简化驱动程序与硬件信息的关联。文章探讨了设备树的版本、格式,如DTS、DTB和DTSI,并讲解了设备树节点、属性和中断属性等关键概念。设备树通过compatible属性、#address-cells和#size-cells属性等来描述和管理硬件资源,使得内核能更灵活地处理不同平台的设备。

一,设备树概念

和平台总线实现的驱动不同的地方在于,设备树将平台设备,也就是 platform_device 进行了完全的抽象,对于不同的设备并不需要去写一个个平台设备。而只是需要修改设备树就行了。设备树是一个用节点描述系统中设备的树状结构。

1,设备树简介

应该把设备树理解成配置文件,并不是一种编程语言,没有绝对的关键字。基于软件分层设计的思想,由于一个soc可能对应多个设备,如果每个设备的设备树都写成一个完全独立的.dts文件,为了解决这个一些.dts文件有重复部分的问题,嵌入式Linux设备树目录把一个soc公用的部分或者多个设备共同的部分提炼为相应的.dtsi文件。这样的话,每个.dts就只有自己差异的部分,分只需要"include"公有的部相应的.dtsi文件, 就可以很好的管理整个设备树集群。

2,设备树定义

Device Tree是一种描述硬件的数据结构,由一系列被命名的节点node和属性property组成,而节点本身可包含子节点。所谓属性,其实就是成对出现的name和value。在Device Tree中,可描述的信息包括:CPU的数量和类别,内存基地址和大小,总线和桥,外设连接,中断控制器和中断使用情况,GPIO控制器和GPIO使用情况,Clock控制器和Clock使用情况。设备树基本上就是画一棵电路板上由CPU,总线设备组成的树,Bootloader会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出linu

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值