跳到主要内容

UART 串口配置

本文档介绍如何在 RK3588 Linux SDK 中修改 CPU 串口波特率配置。

概述

在嵌入式开发中,串口通信是重要的调试和通信手段。RK3588 平台支持多种串口波特率配置,本文档将详细介绍如何统一调整 CPU 调试串口(UART)的波特率。

支持的波特率

RK3588 平台支持以下串口波��特率:

  • 115200 (标准波特率)
  • 1500000 (高速波特率)

默认是 1500000 (高速波特率)

配置步骤

1. 修改 U-Boot 阶段 UART 波特率

1.1 修改 DDR 参数配置文件

编辑 DDR 参数配置文件:

vi neardi-rk3588-linux/rkbin/tools/ddrbin_param.txt

在文件中找到 uart baudrate 参数,修改为所需的波特率:

uart baudrate=115200

1.2 重新生成 DDR 初始化固件

使用 ddrbin_tool 工具重新生成 DDR 初始化固件:

cd neardi-rk3588-linux
./rkbin/tools/ddrbin_tool ./rkbin/tools/ddrbin_param.txt ./rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.08.bin

注意:当前使用的 bin 文件可以通过 neardi-rk3588-linux/rkbin/RKBOOT/RK3588MINIALL.ini 中的 FlashData 参数获取。

2. 修改 Linux Kernel 阶段 UART 波特率

2.1 修改设备树文件

编辑设备树文件:

vi kernel/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi

找到 fiq_debugger 节点,修改 rockchip,baudrate 参数:

fiq_debugger: fiq-debugger {
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
- rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 423 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;

3. 重新编译并烧录固件

3.1 编译固件

执行编译脚本:

cd neardi-rk3588-linux
./build.sh

3.2 烧录固件

编译完成后,重新烧录完整固件:

  • 默认生成的是 buildroot 固件
  • 如需 Ubuntu 固件,请重新执行 Ubuntu 打包步骤

验证配置

串口工具配置

在使用串口调试工具时,确保工具的波特率设置与系统配置一致:

  1. SecureCRT / PuTTY / MobaXterm

    • 波特率:115200 或 1500000
    • 数据位:8
    • 停止位:1
    • 校验位:无
    • 流控:无
  2. minicom (Linux)

    minicom -D /dev/ttyUSB0 -b 115200

测试连接

  1. 连接串口线到开发板
  2. 打开串口工具,设置正确的波特率
  3. 重启开发板
  4. 观察启动日志输出是否正常

常见问题

Q1: 修改波特率后无法看到启动日志

A1: 检查以下几点:

  • 确认串口工具的波特率设置与系统配置一致
  • 检查串口线连接是否正确
  • 确认 DDR 固件和内核设备树都已正确修改

Q2: 支持其他波特率吗?

A2: RK3588 平台目前仅支持 115200 和 1500000 两种波特率。

Q3: 如何恢复默认配置?

A3: 将 ddrbin_param.txt 和设备树文件中的波特率参数恢复为 1500000,然后重新编译烧录。

参考资料

  • 《Rockchip_Developer_Guide_DDR_CN.pdf》
  • RK3588 技术参考手册
  • Neardi 开发板用户手册

注意事项

  1. 备份重要文件:修改前请备份原始的配置文件
  2. 一致性:确保 U-Boot 和 Kernel 阶段的波特率配置保持一致
  3. 工具配置:修改系统波特率后,记得同步更新串口调试工具的配置
  4. 固件烧录:配置修改后必须重新编译并烧录完整固件才能生效