教程 设备树相关知识基础及Rust下fdt源码分析与C#部分重实现fdt功能

示例C#仓库:https://github.com/Uotan-Dev/DeviceTree

首先,什么是设备树(Device Tree)?

它是一种描述硬件资源的数据结构,可以通过 bootloader 将它传给内核,内核(Kernal)使用它对硬件进行初始化。

使用该文件的优势在于将设备信息和驱动分离。(在这一方面,设备树的作用类似于ACPI)

以下会用到的专有名词及缩写:

  • DTS(Device Tree Source):.dts文件是一种ASCII文本对Device Tree的描述,位于linux-x.xx/arch/arm64/boot/dts目录下。
  • DTC(Device Tree Compiler):DTC为编译工具,它可以将.dts文件编译成.dtb 文件,DTC 的源码位于 linux-x.xx/scripts/dtc目录下。在Linux与macOS下可以使用包管理器(apt,pacman,brew等)安装,Windows可以使用该预编译文件:
  • DTB(Device Tree Blob):DTC编译.dts 生成的二进制文件(.dtb)(实际上是字节码),bootloader 在加载内核时,也会同时把.dtb加载到内存,后面传递给内核使用。

暂存
 
柚坛社区
你的玩机资源库
扫码用手机打开

-关注我们-

QQ Popup Image
WeChat Popup Image
Weibo Popup Image
Bilibili Popup Image
Douyin Popup Image
Kuaishou Popup Image