设备树的相关概念

news2024/10/6 14:37:39

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

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

make imx6ull-alientek-emmc.dtb

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

dts的结构 层层结构
在这里插入图片描述
学校 部门 学院 专业 个人 个人信息

dts 基本语法

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

类似这样的语法

/dts-v1/;

#include <dt-bindings/input/input.h>
#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
文件夹的作用是为嵌入式系统提供必要的文件和资源,在启动代码、驱动程序和应用程序等方面提供支持,为嵌入式系统的开发、调试和部署提供基础。

在这里插入图片描述
在这里插入图片描述

以及后面的of函数

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python文本处理】基于GPX文件的心率、速度、时间等参数更改

【Python文本处理】基于GPX文件的心率、速度、时间等参数更改 GPX文件本身其实就是坐标、海拔、时间、心率等综合性的xml文件 如图&#xff1a; 海拔&#xff1a;ele 时间&#xff1a;time 心率&#xff1a;heartrate 在不改变坐标和距离的情况下 缩短时间即可提高速度&#…

使用rsync和inotify实时备份CentOS服务器数据(详解)

简介 在日常运维中&#xff0c;确保服务器上的数据安全是至关重要的。数据丢失或损坏可能会导致灾难性后果&#xff0c;因此定期备份数据是一个明智的做法。本文LZ将向您展示如何使用 rsync 和 inotify-tools 工具在 CentOS 系统上设置实时备份&#xff0c;以确保您的数据始终…

Google I/O:谷歌AR看似不紧不慢,实则暗藏玄机

在今天举行的Google I/O大会上&#xff0c;尽管AI是全场最大的关注点&#xff0c;也还是有一系列AR相关技术和应用更新&#xff0c;比如&#xff1a;ARCore进行更新、推出新的Geospatial Creator等等。 ARCore面世已有5年时间&#xff0c;谷歌每年都在持续推动AR技术的发展。相…

Webpack 核心概念

文章目录 Webpack 核心概念概述安装webpack简单使用配置webpack.config.js配置package.json打包 核心概念modeentry 和 outputentry配置说明output配置说明配置单入口配置多入口 loader安装babel、babel-loader、core-js配置.babelrc配置webpack.config.js配置package.json编写…

【Linux】9. 习题①

2022-09-17_Linux环境与版本 1. 命令拓展(了解) linux查看cpu占用的命令是什么&#xff1f; A.top B.netstat C.free D.df 【答案解析】A 2022-09-24_Linux环境与版本 2. 命令拓展(了解) 以下哪个命令输出Linux内核的版本信息&#xff1a; A.uname -r B.vmstat C.sar D.sta…

wms仓库管理对企业的重要性

一、什么是wms仓库管理&#xff1f; WMS是仓库管理系统的缩写&#xff0c;它提供了一个可视化、智能化的平台&#xff0c;帮助公司进行仓库作业的管理和优化。WMS系统可以支持各种类型的仓库&#xff0c;包括零件、分销、批发、跨境电商等等&#xff0c;并提供多种功能&#xf…

如何查找下载外文文献,超强外文文献检索网站排名

英文文献哪里找&#xff0c;下面小编给大家推荐几个超强英文文献下载网站&#xff0c;推荐排名如下&#xff1a; 第4名&#xff1a;sci-hub 这个网站很多科研人都知道&#xff0c;优点是可以免费下载英文文献&#xff0c;缺点是网站不太稳定经常换域名&#xff0c;而且需要你明…

Zoho Desk获G2“2023年优秀软件”称号

备受瞩目的G2年度优秀软件评选结果终于在近期公布了。该奖项旨在表彰过去一年&#xff0c;在软件行业有突出亮点的厂商和产品。在今年的评选中&#xff0c;除了坚持过往满意度、市场占有率等评选维度&#xff0c;额外新增了英国、法国及德国三个地区的产品名单&#xff0c;还增…

5年测试被裁,去面试差点被问哭了······

我的个人背景非常简单&#xff0c;也可以说丝毫没有亮点。 学历普通&#xff0c;计算机专业二本毕业&#xff0c;毕业后出来就一直在一家小公司&#xff0c;岁月如梭细&#xff0c;算了下至今从事软件测试已经5年了&#xff0c;也点点点了五年&#xff0c;每天都是重复的工作&…

使用遗传算法解决一维下料问题(一、实现思路分析)

目录 一、前言 二、概念 三、术语定义 四、问题描述 五、实现思路 1、遗传算法 2、一维下料和遗传算法结合 六、下文预告 一、前言 三年前我就折腾过一维下料问题了&#xff0c;当时查遍百度、谷歌&#xff0c;阅尽硕博论文&#xff0c;最终采用自研算法解决了一维下料…

天津值得信赖的python培训哪家好

近些年越来越多人涌入了互联网大厂&#xff0c;许多人选择去培训机构系统的学习Python&#xff0c;那么好的Python培训机构的标准是什么样的呢&#xff1f;我们来一点点说。 一、为什么要学python python是目前大火的的编程语言之一。至于为什么火&#xff0c;不名思意&#…

【Android】小米手机 Root全攻略:轻松获取手机最高权限

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ 备份手机资源小米云服务小米助手备份方式 2️⃣ 解锁BL开启解锁等168个小时&#xff08;七天&#xff09;miflash_unlock解锁设备 3️⃣ 获取并安装MIUI完整包4️⃣ 刷机包解包&#xff0c;获取boot.img解压MIUI安装包payload…

C++ | std::tuple

std::tuple 文章目录 std::tuple成员函数及非成员函数模板参数成员函数Non-member functions非成员函数辅助类 构造函数获取元祖元素值元素个数元素的类型Reference 类模板 std::tuple 是不同类型值的固定大小集合。 它是 std::pair 的泛化。 可以当做一个结构体使用 ,不需要创…

【ChatGPT】科技革命促生互联网时代 ChatGPT浪潮打乱时代布局 人工智能新时代下的发展前景

目录 科技革命促生互联网时代 科技进步伴随着大国崛起 科技革命的发展 互联网时代的到来 ChatGPT浪潮来袭 资本市场当前的热潮 人工智能新时代下我们何去何从 开放注册两个月用户数破亿&#xff0c;ChatGPT的爆火也标志着时代的浪潮将要来袭&#xff0c;由科技革命促生的…

C语言200行代码实现简易三子棋

前言 三子棋应该是是我们最早接触到的棋类游戏&#xff0c;用C语言实现三子棋对初学者来说是一种不错的锻炼 编写三子棋只需要用到数组、函数和生成随机数的知识&#xff0c;所以比较适合成为编程学习者编写的第一个小游戏。 一.代码实现 第一部分是源码复制就可以使用&…

WiFi(Wireless Fidelity)基础(六)

目录 一、基本介绍&#xff08;Introduction&#xff09; 二、进化发展&#xff08;Evolution&#xff09; 三、PHY帧&#xff08;&#xff08;PHY Frame &#xff09; 四、MAC帧&#xff08;MAC Frame &#xff09; 五、协议&#xff08;Protocol&#xff09; 六、安全&#x…

未面试蓄力,redis肝起来

目录 1、为什么要使用Redis做缓存&#xff1f;2、为什么Redis单线程模型效率也能那么高&#xff1f;3、Redis6.0为什么要引入多线程呢&#xff1f;4、Redis常见数据结构以及使用场景字符串&#xff08;String&#xff09;哈希(Hash)列表&#xff08;list&#xff09;集合&#…

【前端提效】--Chrome浏览器开发者工具 DevTools 使用技巧

介绍一下 DevTools 的一些好用的技巧&#xff0c;它能够很好地帮助你提高生产力和解决问题的能力。 1、打开命令行 或者使用&#xff1a;快捷键 Ctrl Shift P (Mac&#xff1a; ⌘ Shift P ) 命令行可以做很多事情&#xff0c;包括但不限于截图、更换主题等 2、控制 DevT…

Inno Setup Compiler的安装和使用详解

安装&#xff1a;官网最新下载最新版 最新版不支持中文哈&#xff0c;安装的时候直接选英文就好 安装注意事项&#xff1a;在安装过程中有一个 询问是否要 安装一个加密版本的&#xff08;可根据自己的需求挑选–我就没有&#xff09; 使用&#xff1a; 1.打开应用程序进入到…

【微信小程序】微信小程序的接口调入 获取太阳码 根据返回值的类型进行接收,微信接口可能直接返回图片,也可能返回一个错误信息的json,同时兼容处理这两种情况

目录 事件起因环境和工具操作过程解决办法遇到的一点问题结束语 事件起因 在开发一个关于微信小程序的过程中&#xff0c;有一个这样的需求&#xff0c;要求生成微信小程序的太阳码&#xff0c;然而这个东西的请求方式我们是这样的&#xff1a;我作为后端服务去请求这个太阳码…