Linux第27步_在虚拟机中安装“设备树编译工具”

设备树英文名字叫做Device tree,用来描述板子硬件信息的,比如开发板上的 CPU有几个核 、每个CPU核主频是多少,IIC、SPI这些外设的寄存器范围是多少,IIC接口下都挂了哪些设备等等。

设备树文件是一种文本格式的文件,方便阅读与修改。

设备树文件后缀为“.dts”,类似于C语言中的“.c文件”;

设备树头文件后缀为“.dtsi”,类似于C语言中的“.h文件”;

因此“.dts”的设备树文件可以引用“.dtsi”的设备树头文件。

DTC是设备树的编译器,将dts编译为“.dtb”文件的工具。

“.dts”的设备树文件经过编译后,就可以生成“.dtb”文件,有点类似C语言中的“.bin文件”。

“.dtb”文件就是我们开发板要使用的,然后在开发板上运行。

设备树编译命令

dtc -I dts -O dtb -o test.dtb test.dts

“-I”指定输入格式

“-O”指定输出格式

“-o”指定输出文件

设备树节点和属性定义:

[标号:] 节点名字[@unit-address] {
 [属性定义]
 [子节点名字]

};

设备树反编译命令

dtc -I dtb -O dts -o test.dts test.dtb

“-I”指定输入格式

“-O”指定输出格式

“-o”指定输出文件

1、防止安装设备树失败,建议重新打开虚拟机,然后再打开终端

2、安装“设备树编译工具” 

输入“ls回车

输入“sudo apt-get install device-tree-compiler回车”,安装设备树编译器;

见下图:

3、了解:

1)、在Ubuntu中,使用VSCode打开文件“stm32mp157d-atk.dts”,设备树文件后缀为“.dts”,类似于C语言中的“.c文件”;

2)、双击“stm32mp157d-atk.dts”,打开这个“设备树文件”;

 3)、将stm32mp15xx-edx.dtsi修改为stm32mp157d-atk.dtsi后,点击“文件”,然后点击“保存”,如下图:

  4)、在Ubuntu中,使用VSCode打开文件“stm32mp157d-atk.dtsi”

ST官方的STM32MP157开发板将STPMIC1A这个 PMIC芯片挂到了I2C4下。见下图:

 

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
郭天祥ARM9视频教程(第13讲和第20讲均可观看) ARM9视频教程清单: 第一部分 嵌入式系统开发流程概述 第一讲 嵌入式基础知识 1. 嵌入式的定义、特点、应用 2. 嵌入式硬件结构 3. 嵌入式软件结构 第二讲 如何学习嵌入式 1. 嵌入式系统开发流程 2. 视频内容介绍 3. 学习嵌入式的方法 4. 使用TX-2440A开发项目 第二部分 开发板功能演示 第三讲 TX-2440A开发板外围硬件介绍 1. 核心板资源介绍 2. 底板资源介绍 3. 外围模块介绍 第四讲 TX-2440A开发板功能演示 1. 整板测试 2. 终端下硬件测试 3. 应用程序演示 4. QT图形界面演示 第三部分 嵌入式开发平台搭建 第五讲 Linux操作系统的安装 1. Linux简介,内核,桌面环境介绍 2. 安装虚拟机Linux操作系统 3. 配置smb,nfs服务器 第六讲 Linux操作系统全面分析 1. Linux常用命令 2. vi编辑器 3. gcc编译器 4. make工具使用,makefile编写 5. shell编程 Linux系统编程专题 第七讲 建立交叉编译环境 1. 编译原理,gcc的使用 2. 交叉编译原理 3. 交叉编译工具安装使用 4. 交叉编译实例分析 第八讲 Windows平台工具使用 1. SecureCRT的安装使用 2. Notepad++的使用 3. ADS集成开发环境的安装 4. HJTAG工具的使用 5. USB驱动的安装 6. 使用USB下载程序 第四部分 嵌入式硬件 第九讲 ARM9体系结构,S3C2440处理器 1. ARM处理器介绍 2. ARM编程模型和异常断 3. S3C2440系统结构及片上资源介绍 4. S3C2440时钟电源管理 5. S3C2440的断体系结构 第十讲 S3C2440主存储器配置 1. S3C2440存储控制器特性 2. SDRAM原理分析 3. NandFlash原理分析 第十一讲 ADS工具的使用,建立硬件调试环境 1. 建立ADS工程 2. 系统代码和NandFlash代码分析 3. 使用HJtag和Jlink调试硬件 4. GPIO原理分析,编写LED驱动 第十二讲 TX-2440A开发板硬件原理分析 1. 按键与外部断 2. RTC与定时器 3. ADC与触摸屏 4. 串口与IrDA 5. SPI与CAN总线 6. LCD与Camera LCD专题 第五部分 嵌入式系统移植之bootloader 第十三讲 Bootloader原理和vivi的移植 1. bootloader概述 2. vivi的启动过程分析 3. vivi的配置移植 4. vivi命令详解 第十四讲 uboot原理分析及移植 1. uboot简介 2. uboot源码目录结构 3. uboot运行代码分析 4. uboot在TX2440A上移植 5. uboot常用命令讲解 uboot使用专题 第六部分 嵌入式系统移植之linux内核 第十五讲 Linux内核分析和配置 1. 内核源码目录结构分析 2. Makefile,Kconfig文件分析 3. Linux启动过程分析 4. 配置、编译内核 第十六讲 向内核加入驱动 1. 支持NAND和yaffs2,挂载文件系统 2. 基本外围设备的配置(LCD、触摸屏、网卡、声卡,SD卡、USB设备、摄像头) 3. 向内核加入驱动模块(LED、按键、蜂鸣器、AD、DS18B20) 第七部分 嵌入式系统移植之构建根文件系统 第十七讲 用busybox制作根文件系统 1. 嵌入式文件系统介绍 2. Linux目录结构详解 3. 配置,编译busybox 4. 完善根文件系统 5. 制作yaffs镜像 第十八讲 应用程序的移植 1. NFS文件系统的挂载 2. 移植嵌入式web服务器Boa 3. 移植madplay音乐播放器 第八部分 嵌入式驱动开发 第十九讲 Linux字符设备驱动 1. 嵌入式设备驱动概述 2. Linux字符设备驱动结构 3. 字符设备驱动程序设计实例 4. 断和同的处理 第二十讲 其他类型设备驱动 1. Linux块设备驱动框架 2. MTD设备驱动分析 3. LCD驱动,音频驱动简介 4. 网络设备驱动分析 第九部分 QT图形界面开发 第二十一讲 QT及Qtopia介绍 1. 嵌入式GUI简介 2. Qt概述,Qt/X11的安装(Qt-4.5.3) 3. Qtopia概述 第二十二讲 Qt在ARM平台的移植 1. 移植tslib(触摸屏校正) 2. Qt/E-4.5.3在ARM上移植 3. Qtopia-4.2.4手机平台在ARM上移植 第二十三讲 Qt应用程序的开发 1. Qt编程
第一阶段 Linux快速入门掌握Linux的常用操作命令 第一讲 Linux介绍 知识点1: Linux发展简史与黑客文化 知识点2: 安装Linux系统, 以Ubuntu虚拟机为例 知识点3: 购买Linux云主机,以阿里云主机为例 知识点4: Linux目录结构及常用命令 实战项目: 安装Linux虚拟机环境,配置网络及共享文件 第二讲 Linux常用操作命令 知识点1: ls、cd、pwd、cat、mkdir 知识点2: PATH环境变量以及常用快捷键 知识点3: 用户与用户组,useradd、groupadd 知识点4: 文件属性与权限操作,chmod、chown 知识点5: find 与 grep:搜索神器find命令基本用法 知识点6: tar命令 知识点7: ssh和sshd 实战项目: ssh登陆到你的Linux系统,使用find、grep、tar等常用命令解决具体问题 第二阶段 Linux开发基础与shell编程 第三讲 Linux代码编辑器 知识点1: VIM的基本用法 知识点2: VS Code 简介 实战项目: 安装Vim 和 VS Code,配置环境,配置或安装插件支持C、shell、Makefile 语法高亮 第四讲 Linux Shell编程 知识点1: Shell简介(What, Why, How) 知识点2: Shell 基础语法(变量、条件、循环、函数、库) 知识点3: 实例场景(Hello World,猜数字,文件读写,网络侦测) 实战项目: LInux服务器自动监控 第五讲 Linux开发基础 知识点1: 用C语言写一个hello word程序 知识点2: GCC与GDB 简介 知识点3: 工程文件Makefile 知识点4: 编译安装软件,找一个软件 实战项目: C语言实现一个简单的命令行系统 第三阶段 实战Linux网络与运维 第六讲 Linux网络基础 知识点1: 计算机网络基础 知识点2: ifconfig 知识点3: 网络测试命令:主机 ping/ 本机端口:netstat/ 嗅探器 nmap 知识点4: 通俗理解iptables 实战项目: Linux 防火墙实战配置 第七讲 HTTP网络服务 知识点1: HTTP基础 知识点2: LNMP 架构服务搭建 知识点3: Nginx 配置 知识点4: MySQL 配置 知识点5: PHP 简介 实战项目: 基于WordPress 搭建个人博客 第八讲 Linux运维基础 知识点1: Linux系统监控 相关命令:iostat/free/top/dstat/iotop 知识点2: Linux自化运维 实战项目: 使用Docker自动部署zabbix运维系统,实时监控服务器性能 第四阶段 Linux系统构建 第九讲 Linux系统构建 知识点1: Linux内核源代码简介 知识点2: Linux内核的编译 知识点3: Linux系统的构建 实战项目: 自行编译构建一个Linux系统 第十讲 Linux操作系统常见试题解析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值