首页 > 系统相关 >linux驱动开发3_设备树

linux驱动开发3_设备树

时间:2022-08-29 17:27:20浏览次数:56  
标签:文件 dtc 编译器 内核 linux dts 驱动 设备

设备树的起源

一堆乱七八糟的板级硬件信息都放在内核的arch/arm里面,导致内核太虚胖,从而引入设备树DTS(Device Tree Source)

Device Tree是一种描述硬件的数据结构,用时实现驱动代码与设备信息分离;

DTS文件采用树形结构描述板级设备,也就是电路板上的硬件设备信息,比如CPU数量、内存基地址、IIC接口上接了那些设备、SPI接口上接了那些设备;

DTS文件描述设备信息有相应的语法规则;

设备树文件的扩展名为.dts,一个.dts对应一个电路板,一般放在内核的arch/arm/boot/dts目录下;

对于一些相同的dts配置可以抽象到dtsi文件中,dtsi文件其实类似于C语言中的.h文件,可以使用C语言中的的include来包含.dtsi文件

 

dtc (device tree compiler)也就是设备树文件.dts 文件的编译器,将.c文件编译为.o文件需要用到gcc编译器,将.dts文件编译为相应的二进制文件则需要dtc编译器;

dtc工具在Linux内核的scripts/dtc目录下,编译了内核源码之后才生成。

dtb文件就是将.dts文件编译成二进制数据之后得到的文件

 

dts语法:

我们基本上不会从头到尾写一个dts文件,大多数是直接在SOC厂商提供的.dts文件上进行修改;

但是语法还是必须要学习的,以方便修改dts

标签:文件,dtc,编译器,内核,linux,dts,驱动,设备
From: https://www.cnblogs.com/FZLGYZ/p/16636601.html

相关文章

  • Linux快速入门(三)Linux文件管理
    Linux文件操作headhead命令用于显示文件的前几行内容,可以通过-num参数展示文件前num行的内容。root@ubuntu:~#lsbb.txtcc.txtsnaproot@ubuntu:~#headcc.txtH......
  • Linux快速入门(四)Linux用户管理
    root用户和普通用户虽然root用户的的权限很大,但一般情况下,我们都不会直接使用root用户而是创建一个普通用户,这样可以避免因为权限过大带来的一些误操作,当使用一些需要权限......
  • Linux快速入门(一)Linux基础知识
    我的环境:Ubuntu认识命令行命令行窗口:可以看到第一行guebiqing@ubuntu:~$。这一行中gubeiqing显示的是当前用户名,ubuntu是当前的主机名,~表示我门当前所在目录是用户家......
  • Linux快速入门(二)Linux基础操作
    绝对路径和相对路径Linux中绝对路径指从根目录开始,即/目录。相对路径是指相对于当前路径开始,即./目录,../表示上一级目录路径。pwdpwd命令用于查看当前所在目录。gub......
  • linux环境搭建篇-安装mysql
    1.下载安装包方式一:手动下载并上传Linux下载mysql5.7的安装包,可以从官网下载https://downloads.mysql.com/archives/community  下载完成后将安装包上传到linux......
  • Linux之tr命令
    1.tr指令说明Linuxtr命令用于转换或删除文件中的字符。tr指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。2、tr语法tr[-cdst][--help][--......
  • linux环境下安装Elasticsearch
    下载Elasticsearch文件这里使用wget命令进行下载wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.0-linux-x86_64.tar.gz\wgethtt......
  • Linux下安装oracle 19c
    一、安装前准备1、下载预安装包wgethttp://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm......
  • 虚拟机下安装arm-himix200-linux交叉编译工具链
    1. 解压交叉编译工具链arm-himix200-linuxtar-zxvfarm-himix200-linux.tgzcdarm-himix200-linux 2. 进入root模式,安装交叉编译工具链surootsource./arm-himi......
  • linux离线安装JDK方法
    下载文件:jdk-8u241-linux-x64.tar.gz一.卸载1.检查系统中原版本:[root@localhost~]#java-versionjavaversion"1.7.0_"OpenJDKRuntimeEnvironment(IcedTea61.......