设备树的相关概念

.dts相当于.c DTS的源码文件
DTC工具相当于gcc编译器 将dts 编译成 dtb
dtb相当于bin文件 或可执行文件

编译dtb 文件的方法
在linux内核文件夹中

make imx6ull-alientek-emmc.dtb

在执行上述代码之前 要把
imx6ull-alientek-emmc.dtb删除 否则会提示已经存在

dts的结构 层层结构
设备树的相关概念_第1张图片
学校 部门 学院 专业 个人 个人信息

dts 基本语法

  1. ‘/’ 开始
  2. 从/根节点开始描述设备信息
  3. 在/根节点外又一些&cpu0这样的语句是 追加
  4. 节点名字 完整的要求

类似这样的语法

/dts-v1/;

#include 
#include "imx6ull.dtsi"

/ { //一级子节点

/*
 * Skeleton 
 */
	compatible = "snps,arc";
	clock-frequency = <80000000>;	/* 80 MHZ */
	#address-cells = <1>;
	#size-cells = <1>;
	chosen { };
	aliases { };

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

		cpu@0 {
			device_type = "cpu";
			compatible = "snps,arc770d";
			reg = <0>;
		};
	};

	
//imx6ull.dtsi

	aliases {
	};
	...
	...
	...
/


	model = "Freescale i.MX6 ULL 14x14 EVK Board";  //属性
	compatible = "fsl,imx6ull-14x14-evk", "fsl,imx6ull";  //属性
	chosen {
		stdout-path = &uart1;//属性
	};
	memory { //内存
		reg = <0x80000000 0x20000000>; //起始地址 和 长度
	};
	reserved-memory{
	};
	backlight{
	};
	pxp_v4l2 {
	};
	regulators {
	};
	sound {
	};
	spi4 {
	};

}

系统启动后可以在根文件系统中看到设备树的节点信息

在/proc/device-tree/bace路径当中存放着设备树信息!!
ls之后 发现 就是一级子节点

SOC(System on Chip)文件夹一般是嵌入式系统中存放嵌入式操作系统的关键文件夹之一。SOC 文件夹通常包含以下文件和子目录:

1 启动代码(Boot Code):SOC
文件夹中通常会包含启动代码,包括裸机启动代码和操作系统引导代码。这些代码主要用于初始化硬件环境、加载操作系统、配置系统内核等。

2 驱动程序(Driver):SOC
文件夹中包含系统所需的驱动程序,包括设备驱动、文件系统驱动、网络驱动、输入输出驱动等。这些驱动程序负责将底层硬件抽象为一组通用接口,供应用程序调用。

3 应用程序(Application):SOC
文件夹中还可以包含应用程序,这些应用程序通常是用户需要运行在嵌入式系统上的软件应用,比如图形界面应用程序、网络服务器应用程序、数据处理应用程序等。

4 其他文件和目录:SOC 文件夹还可能包含其他文件和子目录,例如系统配置文件、库文件、编译器工具链、文档资料等。

总的来说,SOC
文件夹的作用是为嵌入式系统提供必要的文件和资源,在启动代码、驱动程序和应用程序等方面提供支持,为嵌入式系统的开发、调试和部署提供基础。

设备树的相关概念_第2张图片
设备树的相关概念_第3张图片

以及后面的of函数

用于查找设备树节点的相关信息 例如属性
后面的dtsled就是将 这个物理地址放到设备树当中
用of查找 然后 将查找到的地址转成虚拟地址
然后进行一系列的操作

你可能感兴趣的:(arm,linux,arm开发)