在嵌入式开发过程中,硬件与软件的适配往往需要反复调试与优化。本文记录了 RK3566 开发板从基础编译配置到功能优化的完整过程,包括 DTS 配置修改、USB 功能调试及温度控制优化,希望能为同类开发提供参考。

选用深圳市新创云的RK3566 EVB开发板

一、基础编译环境配置

1.1 DTS 文件指定修改

开发初期,首先需要确保编译系统使用正确的设备树文件(DTS)。通过修改 BoardConfig.mk 文件,可以指定所需的 DTS 配置:

diff --git a/rk3566_s/BoardConfig.mk b/rk3566_s/BoardConfig.mkindex 9244bc8..beaf90a 100644--- a/rk3566_s/BoardConfig.mk+++ b/rk3566_s/BoardConfig.mk@@ -17,7 +17,7 @@ include device/rockchip/rk356x/BoardConfig.mk

 BUILD_WITH_GO_OPT := false

 

 PRODUCT_UBOOT_CONFIG := rk3566-PRODUCT_KERNEL_DTS := rk3566-evb2-lp4x-v10+PRODUCT_KERNEL_DTS := rk3566-rk817-tablet

 BOARD_GSENSOR_MXC6655XA_SUPPORT := true

 BOARD_CAMERA_SUPPORT_EXT := true

 BOARD_HS_ETHERNET := true


1.2 编译步骤

本次使用的内核版本为 4.19,具体编译步骤如下:

1. 初始化编译环境​

source build/envsetup.sh

2. 选择编译目标​

Lunch

(在弹出的菜单中选择 88(rk3566_s-userdebug))

3. 执行编译命令​

./build.sh -UKAup

编译完成后,将生成的固件烧录到开发板,设备能够正常开机启动,但发现 USB Host 2 接口无法识别外接鼠标,需要进一步调试。

二、USB 功能调试与配置

2.1 问题分析

初步判断 USB Host 2 接口无法识别设备是由于 DTS 配置中相关节点未启用所致。RK3566 的 USB 控制器需要在设备树中正确配置才能正常工作。

2.2 DTS 配置修改

为启用 USB 功能,在设备树中添加以下配置:

// 新增USB相关配置

&u2phy1_host {

// phy-supply = <&vcc5v0_host>;

status = "okay";

};


&u2phy1_otg {

// phy-supply = <&vcc5v0_host>;

status = "okay";

};


&usb2phy1 {

status = "okay";

};


&usb_host0_ehci {

status = "okay";

};


&usb_host0_ohci {

status = "okay";

};


&usb_host1_ehci {

status = "okay";

};


&usb_host1_ohci {

status = "okay";

};


2.3 验证结果

重新编译固件并烧录后,USB Host 2 接口功能恢复正常,外接鼠标能够被正确识别并使用,证明配置修改有效。

三、主板温度控制优化

3.1 问题描述

在高负载测试中发现开发板温度过高,长时间运行可能影响系统稳定性和硬件寿命,需要对温度控制策略进行优化。

3.2 温控策略调整

通过修改 DTS 中温度阈值参数,调整 CPU 的温控策略:

3.3 优化效果

将被动散热的温度阈值从 75°C 和 85°C 分别下调至 70°C 和 80°C 后,系统会更早地启动温控措施。实际测试表明,在高负载状态下,主板整体温度明显下降,运行稳定性显著提升。

四、总结

本文记录了 RK3566 开发板从基础配置到功能优化的完整调试过程:

1. 通过修改 BoardConfig.mk 文件指定正确的 DTS,确保编译系统使用目标配置

2. 调整 USB 相关 DTS 节点配置,解决了 USB Host 接口无法识别设备的问题

3. 优化温度控制策略,降低了高负载状态下的主板温度

在嵌入式开发中,设备树配置是硬件功能实现的关键,合理的参数调整能有效提升系统稳定性和性能。后续将继续优化其他硬件接口功能,进一步完善开发板的整体性能。

欢迎各位开发者交流讨论更多 RK3566 平台的调试经验与技巧!

硬创社

还没有评论,抢个沙发!