Linux-设备树

本文介绍了Linux设备树的概念,它是如何解决ARM架构下板级文件管理问题的。设备树采用树形结构描述板级设备信息,包括设备节点、节点属性如compatible、status、reg等。设备树的引入使得Linux内核通过匹配设备的compatible属性来决定是否支持特定设备,简化了设备与驱动的匹配过程。此外,文章还列举了设备树的一些常用操作函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:设备树概念

        Linux内核发展早期arm架构关于SOC和开发板及其外设的板级文件极其庞大,随着越来越多的SOC和开发板的诞生,其板级文件以指数级增长,同时越来越多的“垃圾文件”被编译进了Linux内核中。对此linus有话要说:“This whole ARM thing is a fucking pain in the ass”,arm的东西糟糕透顶了,于是arm就引入了powerpc架构中的设备树技术,将这些描述板级信息的内容从Linux中分离出来,用一个专属的文件格式来描述,这个文件就是设备树,文件扩展名为“.dts”,对于相同SOC作出的不同开发板的共同信息则提取到“.dtsi”文件。Linux内核用到的是DTC工具对DTS源文件编译后的DTB二进制文件,DTC工具源码位于linux内核scripts/dtc目录下,设备树源文件DTS位于arch/arm/boot/dts,编译设备树命令为“make dtbs”。

二:设备树语法

1,设备节点

/ {
	aliases {
		can0 = &flexcan1;
		can1 = &flexcan2;
        ... ...
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0>;
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值