在嵌入式开发过程中,硬件与软件的适配往往需要反复调试与优化。本文记录了 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 平台的调试经验与技巧!
|