设备树--简介

引入设备树的原因:

Linux3.1之前的版本,对于一般的ARM平台的设备,板级信息一般存放在/arch/arm/mach-**目录下。这些代码存在大量重复。避免各个厂商代码的重复,加速linux内核的bsp的开发。编译一个镜像可以支持多个不同设备,只需要编译对应的设备树并打包就可以。

设备树:一种描述板子硬件信息的数据结构,设备树源文件存放在/arch/arm/boot/dts/***.dts目录下。设备树最终编译生成dtb文件,通过BootLoader从emmc中和内核一块加载到内存。设备树存放的地址由BootLoader保存在R2寄存器中传递给内核(Linux3.1版本之前保存的是参数列表的地址)。

设备树源文件:

包含信息CPU、总线、串口、物理内存、GPIO、控制器信息等等(类似我们之前的板级信息mach--XX);

 

BootLoader传递设备树给内核:

没有设备树:【Linux3.1之前参数列表的大小较小】

bootm <uImage_addr>

有设备树:

bootm <uImage_addr> <initrd_addr> <dtb_addr>

dtb文件存放地址:

【注】uboot在跳转到内核之前,自己将自己拷贝到内存高地址。设备树25K通常放在zimage之后。

 

 

 

设备树详细语法知识:参考链接

https://blog.csdn.net/radianceblau/article/details/70800076

https://blog.csdn.net/qq_16777851/article/details/87202588

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值