当前位置: 首页 > news >正文

RK3588 Buildroot 新建板级DTS

一、准备工作

在开始添加新板型之前,需要确保以下几点:

  1. 已经获取到 RK3588 Buildroot SDK 源码,并且可以正常编译。
  2. 了解新板型的硬件信息,存储设备、外设接口等等。
  3. 查阅RK3588 Buildroot SDK 源码中doc目录,即RK开发指导文档。

二、选择参考DTS

doc目录中,找到快速开发指导文档:docs/cn/RK3588/Quick-start/Rockchip_RK3588_Quick_Start_Linux_CN.pdf。

从rk3588 推荐的dts中选择合适自己板子的dts,主要是供电PMIC的区别。
文章中选择evb7-v11作为介绍。
 

三、创建新板型配置文件 

1. 复制现有板型配置文件

        在 Buildroot 源码的 kernel/arch/arm64/boot/dts/rockchip/ 目录下,拷贝 rk3588-evb7-v11.dtsi 、 rk3588-evb.dtsi 、rk3588-evb7-v11-linux.dts
        分别重命名为:
        arunce-rk3588-evb7-v11.dtsi
        arunce-rk3588-evb.dtsi
        arunce-rk3588-evb7-v11-linux.dts

        你可以根据实际情况进行命名。

2. 修改配置文件 

        使用文本编辑器打开新上面的配置文件,根据新板型的硬件信息进行相应的修改。主要修改内容包括:

  • DTS依赖相关配置:include dts的修改。
  • 硬件驱动配置:根据新板型的外设情况,启用或禁用或新增加相应的驱动节点。 

        必须修改的部分:
        arunce-rk3588-evb7-v11-linux.dts 中修改:

#include "arunce-rk3588-evb7-v11.dtsi"

         arunce-rk3588-evb7-v11.dtsi中修改:

#include "arunce-rk3588-evb.dtsi"

        根据自己的板子的硬件原理图,自行修改arunce-rk3588-evb7-v11.dtsi中的节点参数。
        如hdmi是否开启,以及hpd gpio引脚。

&hdmi0 {enable-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;status = "okay";
};

3. 配置新板型

        SDK根目录下, device/rockchip/rk3588/ 中拷贝rk3588_evb7_v11_defconfig,并重命名为:arunce_rk3588_evb7_v11_defconfig。

        使用文本编辑器打开该文件,可以添加或者修改某些配置。
        必须修改部分:

RK_KERNEL_DTS_NAME="arunce-rk3588-evb7-v11-linux"


        其他修改:分区有变更的话,也可以重新拷贝parameter.txt并重命名:arunce-parameter.txt。然后在arunce_rk3588_evb7_v11_defconfig中修改RK_PARAMETER内容为:"arunce-parameter.txt"。

四、编译和测试 

        在SDK根目录,新打开终端,输入:./build.sh lunch 选择新创建的板型,即2

         接着执行构建命令: ./build.sh

        编译完成后,将生成的镜像文件烧录到新板型的存储设备中,然后启动设备进行测试。检查系统是否能够正常启动,各项硬件功能是否正常工作。

五、总结

通过以上步骤,你已经成功在 RK3588 Buildroot SDK 源码中添加了一个新的板型。在实际应用中,可能需要根据新板型的具体需求进行进一步的调整和优化。

http://www.xdnf.cn/news/89443.html

相关文章:

  • JAVA线程池ThreadPoolExecutor说明
  • 树莓派超全系列教程文档--(40)树莓派config.txt旧版GPIO控制、超频及条件过滤器
  • 【Spring】依赖注入的方式:构造方法、setter注入、字段注入
  • ProxySQL如何支持高并发读写请求
  • ubuntu 安装 redis server
  • 技术能力和关系比较实在没有可比性
  • 【同轴线共焦传感器原理】
  • Tree Shaking 原理
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]:在Mac App Store外创建、部署与公证
  • 【AI面试】分类模型 之 随机森林
  • UWB定位技术在钢铁厂行业中的创新应用与价值实践
  • Linux:简单自定义shell
  • Unity使用反射进行Protobuf(CS/SC)协议,json格式_002
  • Python 常用Web框架对比
  • 乐视系列玩机---乐视2 x620 x628等系列线刷救砖以及刷写第三方twrp 卡刷第三方固件步骤解析
  • Spring 中 @Component, @Repository, @Service的区别
  • 电商场景下Elasticsearch集群与分片(Sharding)的ELK安装配置指南
  • qemu如何支持vpxor %xmm0,%xmm0,%xmm0(百度AI)
  • ACI multipod 一、组网概要
  • 【自然语言处理与大模型】如何知道自己部署的模型的最大并行访问数呢?
  • 「数据可视化 D3系列」入门第十二章:树状图详解与实践
  • Docker 快速入门教程
  • XPath 介绍
  • Ubuntu与Linux的关系
  • Linux虚拟机中 编译Linux源码 记录
  • 给 20GB 文件“排排坐”——详解外部排序
  • 鸿蒙NEXT开发定位工具类 (WGS-84坐标系)(ArkTs)
  • ios开发中xxx.debug.dylib not found
  • MySQL终章(8)JDBC
  • OpenCV --- 图像预处理(六)