宏远天翔 Wiki

A7-3588 · 软件调试

设备树配置与编译

设备树描述 A7-3588 的外设连接、资源和驱动匹配关系。板级 BSP 已按接口连接配置设备树;开发时主要调整显示屏、摄像头和 PCIe FPGA 等功能的参数,并使配置与硬件一致。

找到生效的设备树

先定位当前固件使用的构建配置。Linux 5.10 工程通常在 .mk 配置中使用 RK_KERNEL_DTS,Linux 6.1 工程在目标配置中使用 RK_KERNEL_DTS_NAME。在 SDK 根目录搜索:

grep -R -n -E 'RK_KERNEL_DTS(_NAME)?=' device/rockchip/rk3588/
readlink -f kernel

沿当前产品配置的 source 或继承关系找到最终值,再到内核源码的 arch/arm64/boot/dts/rockchip/ 目录定位对应 .dts。不能只根据相似文件名选择设备树。

阅读节点关系

.dts 可以包含多个 .dtsi。若顶层文件没有外设节点,继续沿 #include 查找;上层对同一节点的属性设置可覆盖底层内容。修改共享 .dtsi 会影响引用它的其他配置,因此产品差异优先放到板级文件中。

检查节点的 status、compatible、时钟、复位、供电、引脚复用及端点连接。显示和摄像头还需要检查链路两端的 remote-endpoint 与通道配置。PCIe 3.0 ×4 的连接对象为 FPGA,控制器、PHY、通道数量和复位时序需保持一致。

构建与检查

完成修改后,使用原产品配置重建内核启动镜像并打包:

./build.sh extboot
./build.sh updateimg

Android 工程按该版本的内核构建及 boot.img 打包流程处理。先解决设备树语法和引用错误,再将匹配镜像升级到设备。

启动后查看内核日志和运行中的设备树:

dmesg | grep -Ei 'pcie|hdmi|drm|mipi|probe|error'
ls /sys/firmware/devicetree/base

确认驱动已绑定,并进行对应接口的实际功能测试。设备树编译通过说明配置可被构建,接口检查用于确认硬件与软件的协同结果。