在将OpenHarmony 5.1适配到RK3568开发板的过程中,很多开发者在基础环境搭建完成后,往往会卡在两个看似不起眼却极其影响开发效率的问题上:一是调试串口输出乱码,二是系统镜像烧录时提示超出Flash大小。
踩坑一:调试串口输入输出乱码
在系统成功启动后,通过串口终端(如minicom或picocom)进行交互时,发现打印的日志或输入的命令全是乱码。这通常不是编码格式的问题,而是波特率匹配导致的。
在OpenHarmony 5.1的内核设备树配置中,部分板级支持的默认调试波特率可能与终端工具的默认设置(通常是115200)不一致,或者在fiq-debugger节点中配置了较高的波特率导致信号传输不稳定。
解决方案:
我们需要修改设备树(DTS)中关于调试串口的配置。找到对应的设备树文件(通常在kernel/linux/config或板级dts目录下),定位到fiq-debugger节点,将rockchip,baudrate属性的值强制修改为标准的115200。重新编译内核并烧录后,串口通信即可恢复正常。
踩坑二:镜像烧录提示“超过Flash大小”
当你兴致勃勃地准备烧录编译好的完整镜像时,烧录工具却报错提示镜像大小超过了板载Flash(例如8GB ROM)的容量。通过检查分区配置文件parameter.txt,你会发现userdata分区的起始地址或大小设定得过大,累加后的总容量已经超出了物理Flash的实际界限。
解决方案:
这是一个典型的分区规划问题。打开烧录包中的parameter.txt文件,根据你实际板卡的Flash容量(如8GB或16GB),重新计算并缩减userdata分区的起始地址和大小。确保所有分区(包括boot, system, vendor等)的总大小严格控制在物理Flash容量之内。修改保存后,再次执行烧录即可顺利通过。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐