设备树覆盖:概念与术语

简介: 设备树覆盖:概念与术语

前面我们讲过设备树相关的东西,其实你应该知道。

但是昨天一个FDT当时我还是有点懵。于是再在android的角度我们来看看这个东西。

1、概览

设备树 (DT) 是用于描述“不可发现”硬件的命名节点和属性构成的一种数据结构。

操作系统(例如在 Android 中使用的 Linux 内核)会使用 DT 来支持 Android 设备使用的各种硬件配置。

硬件供应商会提供自己的 DT 源文件,接下来 Linux 会将这些文件编译到引导加载程序使用的设备树 Blob (DTB) 文件中

设备树叠加层 (DTO) 可让主要的设备树 Blob (DTB) 叠加在设备树上。使用 DTO 的引导加载程序可以维护系统芯片 (SoC) DT,并动态叠加针对特定设备的 DT,从而向树中添加节点并对现有树中的属性进行更改。

Android 9 版本中的更新

在 Android 9 中,在将统一设备树 Blob 传递给内核之前,引导加载程序不得修改设备树叠加层中定义的属性。

2、加载设备树

在引导加载程序中加载设备树会涉及到构建、分区和运行。

图 1. 在引导加载程序中加载设备树的典型实现。

  • 1、如需构建,请执行以下操作:
  • 1、使用设备树编译器 (dtc) 将设备树源 (.dts) 编译成设备树 blob (.dtb),将其格式设置为扁平化设备树。
  • 2、将 .dtb 文件刷写到引导加载程序在运行时可访问的位置
  • 2、如需进行分区,请确定闪存中引导加载程序在运行时可访问的可信位置以放置 .dtb。位置示例:

启动分区

将 .dtb 放在启动分区中,方法是将其附加到 image.gz,并作为“kernel”传递给 mkbootimg。

唯一分区

将 .dtb 放在唯一分区(例如 dtb 分区)中。

  • 3、如需运行,请执行以下操作:
  • 将 .dtb 从存储空间加载到内存中。
  • 启动内核(已给定所加载 DT 的内存地址)。

白话一刻:

这个过程就是写dts文件,然后编译成dtb文件,然后loader会把dtb文件加载进内存,然后把这地址在kernel启动的时候传递给kernel,kernel根据解析这个文件,实现硬件的配置。

3、术语

目录
相关文章
|
6月前
|
存储 固态存储 Linux
外部存储结构简要回顾
外部存储结构简要回顾
55 0
|
数据库
主题域、概念、逻辑、物理四种模型有什么区别与联系?
主题域、概念、逻辑、物理四种模型有什么区别与联系?
|
3月前
|
物联网 Linux 网络安全
dpdk03-概念补充
dpdk03-概念补充
|
4月前
|
机器学习/深度学习 存储 人工智能
hypernetwork在SD中是怎么工作的
Stable Diffusion中的hypernetwork是一种微调技术,由 Novel AI 开发,用于修改模型的风格,特别是噪声预测器中的交叉注意力模块。Hypernetwork 是一个小型网络,它通过两个子网络变换 key 和 query 向量,动态调整注意力机制。这不同于传统的超网络,它生成另一网络的权重。与LoRA相比,两者都修改注意力模块,但方法不同。Hypernetwork 训练快速,资源需求低,适用于普通计算机。使用时,模型文件应放在 `stablediffusion-webui/models/hypernetworks` 目录下,并通过WebUI或命令行指定。
|
6月前
|
存储 安全 Linux
C++文件格式深度解析:从底层结构到关键特性
C++文件格式深度解析:从底层结构到关键特性
406 3
C++文件格式深度解析:从底层结构到关键特性
|
JSON 开发工具 虚拟化
探究Vcenter虚拟化方案中,VirtualMachine庞大结构体中各字段的含义
探究Vcenter虚拟化方案中,VirtualMachine庞大结构体中各字段的含义
62 0
图的定义与术语的详细总结
理解图的基本概念 各种图的定义 图的顶点与边的关系 连通图的介绍
93 0
|
测试技术 程序员 项目管理
测试思想 测试术语定义
测试思想 测试术语定义
104 0
|
搜索推荐 数据可视化 数据库
工业基础类IFC—如何阅读物理文件
工业基础类IFC—如何阅读物理文件
工业基础类IFC—如何阅读物理文件
|
存储 安全 网络协议
【网络术语】网络术语汇编
基本网络术语汇编,与深入定义链接。