RK3399 Android7.1:设备树DTS深入解析与实践
需积分: 5 30 浏览量
更新于2024-08-04
1
收藏 122KB PDF 举报
本文档是一份关于RK3399平台在Android 7.1环境下,针对Linux内核设备树(DTS)的详细学习笔记。随着Linux内核3.X版本的发展,传统的板级细节描述代码逐渐被设备树所取代,设备树成为描述硬件设备配置和连接的重要方式,主要存储于arch/arm/boot/dts或arch/arm64/boot/dts目录下。
设备树由两大部分构成:dts(Device Tree Source)和dtsi(Device Tree Sources Include)。dts是针对特定产品的配置文件,用于描述单个硬件平台的特性,如RockchipRK3399ExcavatorBoardedp的配置。当需要在同一套源码中适配不同公司的产品时,通用的配置信息会被放置在dtsi中,dts可以通过#include指令引用这些公共信息。
DTB(Device Tree Blob)是dts经过dtc(Device Tree Compiler)编译后的二进制文件,它在引导过程中由Bootloader加载到Linux内核中,因此,Bootloader需要具备设备树的支持,同时Kernel也需要相应的驱动模块来解析和利用设备树数据。
学习实例中,以kernel/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator-edp.dts为例,首先介绍的是dts文件的版本信息,即/dts-v1/,表示采用的是设备树的版本1规范。然后,文件中包含了几个重要的dtsi头文件,如rk3399-excavator-sapphire.dtsi、rk3399-android.dtsi和rk3399-vop-clk-set.dtsi,这些头文件提供了平台特有的功能和配置。
在"/"根节点中,定义了模型名、兼容性字符串等关键信息,如model属性定义了设备名称,compatible属性则指定了该设备与Rockchip和Android系统的兼容性。此外,还创建了一个名为vcc_lcd的节点,用于描述LCD供电管理,它具有compatible="regulator-fixed"属性,表明这是一个固定的电压调节器,且设置了regulator-name属性为"vcc_lcd",并引用了GPIO接口。
这篇学习笔记深入讲解了设备树在Linux内核中的应用,包括其架构、组成部分、编译过程以及在实际硬件平台(如RK3399)中的具体实现。理解并掌握设备树对于维护和定制Linux内核以适应不同硬件平台至关重要。
2020-09-06 上传
2021-06-04 上传
2018-08-19 上传
点击了解资源详情
点击了解资源详情
l531798151
- 粉丝: 85
- 资源: 27
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析