HZ-RK3568开发板开箱与嵌入式开发环境搭建指南

📅 2026/7/15 12:21:55
HZ-RK3568开发板开箱与嵌入式开发环境搭建指南
1. HZ-RK3568开发板开箱初体验作为一名长期从事嵌入式开发的工程师当我拿到合纵恒跃HZ-RK3568开发板时第一印象就是它的工业级设计质感。这款基于Rockchip RK3568处理器的开发板采用了标准的3.5寸板型设计整体布局紧凑合理。开发板正面最显眼的是那颗RK3568四核Cortex-A55处理器主频高达2GHz旁边整齐排列着2GB LPDDR4内存颗粒。我特别注意到板载的16GB eMMC存储采用了可拆卸设计这种设计在开发阶段非常实用可以方便地进行系统镜像的烧写和更换。接口方面HZ-RK3568提供了丰富的扩展能力双千兆以太网接口其中一个是原生RJ45另一个通过USB3.0转接标准的HDMI 2.0输出双USB3.0 Host接口40Pin的GPIO扩展排针MIPI CSI摄像头接口板载WiFi6/BT5.0模块电源部分采用了Type-C接口供电实测5V/3A的电源适配器即可稳定工作。随板附赠的配件包括一根优质Type-C数据线散热风扇及安装支架40Pin GPIO排线详细的快速入门指南提示首次使用前建议先检查板载元件是否有运输造成的松动特别是散热片和eMMC模块。我在开箱时就发现散热片有些偏移重新固定后确保了良好的散热接触。2. 开发环境搭建全流程2.1 基础软件准备在开始搭建开发环境前我们需要准备以下软件工具Ubuntu 20.04 LTS推荐使用这个长期支持版本我在22.04上测试时遇到了一些驱动兼容性问题RKDevToolRockchip官方提供的烧写工具最新版本为v2.84AndroidTool用于Android系统烧写Linux SDK合纵恒跃提供的定制化Linux BSP包安装Ubuntu时有个小技巧建议选择最小化安装然后手动添加开发所需的软件包。这样可以保持系统干净减少不必要的依赖冲突。我使用的安装命令如下sudo apt update sudo apt install -y git repo curl python3 python3-pip device-tree-compiler \ build-essential libncurses5-dev libssl-dev bc bison flex libelf-dev \ u-boot-tools gcc-aarch64-linux-gnu g-aarch64-linux-gnu2.2 交叉编译工具链配置RK3568需要使用aarch64架构的交叉编译工具链。我测试了几个版本发现Linaro的gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu表现最稳定。配置步骤如下wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz sudo mv gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu /opt/然后在~/.bashrc中添加环境变量export PATH/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH export CROSS_COMPILEaarch64-linux-gnu-注意有些教程会建议使用更新的工具链版本但我在实际编译U-Boot时发现高版本工具链可能会产生兼容性问题导致启动失败。2.3 系统镜像烧写HZ-RK3568支持多种启动模式我们需要先让开发板进入Loader模式断开电源按住Recovery键不放插入Type-C电源等待2秒后松开Recovery键此时在Ubuntu中使用lsusb命令应该能看到Rockchip USB设备。然后使用RKDevTool进行烧写sudo apt install libusb-1.0-0-dev git clone https://github.com/rockchip-linux/rkdeveloptool cd rkdeveloptool mkdir build cd build cmake .. make sudo cp rkdeveloptool /usr/local/bin/烧写命令示例rkdeveloptool db rk356x_spl_loader_v1.08.111.bin rkdeveloptool wl 0x0 firmware.img rkdeveloptool rd3. Linux BSP编译与定制3.1 获取源码合纵恒跃提供了完整的Linux BSP包可以通过以下命令获取repo init -u https://github.com/hexiaoheng/hz-rk3568-bsp.git -b master repo sync -j$(nproc)同步完成后目录结构如下kernel/: Linux 4.19内核源码u-boot/: U-Boot 2020.10源码buildroot/: 构建根文件系统device/rockchip/rk3568/: 设备特定配置3.2 内核编译进入kernel目录后先应用补丁make ARCHarm64 hz_rk3568_defconfig make ARCHarm64 menuconfig这里有几个关键配置需要注意确保CONFIG_ARM64_VA_BITS39启用CONFIG_PM_DEVFREQ检查GPU驱动是否启用CONFIG_DRM_PANFROST确认WiFi驱动已包含CONFIG_RTL8822CE编译命令make ARCHarm64 -j$(nproc) Image dtbs编译完成后生成的镜像位于arch/arm64/boot/Image设备树文件在arch/arm64/boot/dts/rockchip/。3.3 根文件系统构建HZ-RK3568支持多种根文件系统我推荐使用Buildroot构建最小系统cd buildroot make hz_rk3568_defconfig make menuconfig关键配置项Target options → ARM64 (AArch64)Toolchain → Custom toolchain path (指向之前安装的Linaro工具链)System configuration → Root password (设置开发板root密码)Target packages → 根据需要添加软件包如openssh, i2c-tools等构建命令make -j$(nproc)生成的根文件系统镜像位于output/images/rootfs.ext2。4. 开发板调试与功能验证4.1 串口调试配置HZ-RK3568提供了标准的3.3V TTL串口引脚定义如下Pin6: GNDPin8: UART2_TX (开发板发送)Pin10: UART2_RX (开发板接收)我使用CP2102 USB转TTL模块连接在Ubuntu上配置minicomsudo apt install minicom sudo minicom -s配置参数波特率1500000RK3568默认高速波特率数据位8停止位1无校验硬件流控关闭注意很多开发者会习惯性使用115200波特率这会导致无法接收到完整启动信息。RK3568的调试串口默认使用1.5Mbps高速波特率是个易错点。4.2 外设功能测试成功启动系统后可以进行基础功能测试GPIO测试# 导出GPIO echo 48 /sys/class/gpio/export # 设置方向 echo out /sys/class/gpio/gpio48/direction # 控制电平 echo 1 /sys/class/gpio/gpio48/value echo 0 /sys/class/gpio/gpio48/valueI2C设备检测apt install i2c-tools i2cdetect -y 0 # 扫描I2C0总线上的设备 i2cdetect -y 1 # 扫描I2C1总线上的设备网络性能测试# 以太网测试 iperf3 -s # 在开发板运行 iperf3 -c 开发板IP -t 60 # 在主机运行 # WiFi测试 nmcli dev wifi connect SSID password 密码 iperf3 -c 服务器IP -t 60 -R # 测试下载速度4.3 常见问题排查问题1系统启动卡在Starting kernel...可能原因设备树不匹配或内存配置错误解决方案检查uboot环境变量中的bootargs和bootcmd确认dtb文件名与实际一致问题2USB3.0接口设备识别不稳定可能原因电源供电不足或驱动问题解决方案尝试外接供电或在内核配置中调整USB驱动参数问题3HDMI无输出可能原因EDID读取失败或分辨率不匹配解决方案在uboot中设置环境变量setenv bootargs ${bootargs} drm.edid_firmwareHDMI-A-1:edid/1920x1080.bin saveenv5. 进阶开发技巧5.1 性能优化配置RK3568的CPU调频策略可以通过以下命令调整# 查看可用调速器 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors # 设置为性能模式 echo performance /sys/devices/system/cpu/cpufreq/policy0/scaling_governor # 查看当前频率 cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freqGPU性能调节# 查看GPU信息 cat /sys/kernel/debug/pvr/version echo 800000000 /sys/kernel/debug/pvr/clock5.2 温度管理HZ-RK3568开发板配备了散热风扇可以通过PWM控制# 查看温度 cat /sys/class/thermal/thermal_zone0/temp # 手动控制风扇0-255 echo 150 /sys/class/pwm/pwmchip0/pwm0/duty_cycle我建议创建一个简单的温度控制脚本#!/bin/bash while true; do temp$(cat /sys/class/thermal/thermal_zone0/temp) if [ $temp -gt 60000 ]; then echo 255 /sys/class/pwm/pwmchip0/pwm0/duty_cycle elif [ $temp -gt 50000 ]; then echo 150 /sys/class/pwm/pwmchip0/pwm0/duty_cycle else echo 0 /sys/class/pwm/pwmchip0/pwm0/duty_cycle fi sleep 10 done5.3 电源管理优化对于电池供电的应用场景可以启用RK3568的低功耗模式# 启用CPU idle状态 echo 1 /sys/devices/system/cpu/cpuidle/state1/disable echo 1 /sys/devices/system/cpu/cpuidle/state2/disable # 设置DDR频率 echo powersave /sys/class/devfreq/dmc/governor6. 项目实战构建Qt开发环境6.1 交叉编译Qt5首先在Ubuntu主机上安装依赖sudo apt install qt5-default qtcreator libqt5serialport5-dev然后下载Qt源码并配置wget https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz tar xvf qt-everywhere-src-5.15.2.tar.xz cd qt-everywhere-src-5.15.2配置命令./configure -prefix /opt/qt5.15.2-rk3568 \ -release -opensource -confirm-license \ -xplatform linux-aarch64-gnu-g \ -nomake examples -nomake tests \ -qt-zlib -qt-libpng -qt-libjpeg \ -no-opengl -no-eglfs -linuxfb \ -skip qtvirtualkeyboard \ -sysroot /opt/sysroot编译安装make -j$(nproc) sudo make install6.2 部署Qt运行时将编译好的Qt库复制到开发板scp -r /opt/qt5.15.2-rk3568 root开发板IP:/usr/local/qt5.15.2在开发板上设置环境变量export QT_ROOT/usr/local/qt5.15.2 export LD_LIBRARY_PATH$QT_ROOT/lib:$LD_LIBRARY_PATH export QT_QPA_PLATFORMlinuxfb:fb/dev/fb06.3 Qt Creator交叉编译配置在Qt Creator中添加工具链进入Tools → Options → Kits添加新的GCC工具链指向Linaro交叉编译器添加新的Qt Version指向交叉编译的Qt创建新的Kit选择上述工具链和Qt版本测试项目配置TARGET testapp QT core gui widgets SOURCES main.cpp mainwindow.cpp HEADERS mainwindow.h在开发板上测试运行./testapp -platform linuxfb