【RK3588】正点原子RK3588开发板更换调试串口

笔者使用的是正点原子的RK3588开发板(ATK-DLRK3588),ATK-DLRK3588开发板默认使用UART2作为调试串口,有些客户自己设计底板,可能会使用其它串口作为调试串口,本文讲一下如何更换默认调试串口、使用其它串口(本文将以UART3为例进行介绍)作为调试串口。

硬件平台:正点原子RK3588开发板

系统:Android12 & Android13以及Linux buildroot

1.修改ddrbin文件

同样第一步也是修改ddrbin文件,进入rkbin/tools/目录,打开ddrbin_param.txt文件:

cd rkbin/tools/

vi ddrbin_param.txt

找到“uart id”和“uart iomux”这两个变量,“uart id”用于指定我们使用的是哪个串口,譬如“uart id=3”表示使用UART3;“uart iomux”用于设置引脚复用,譬如“uart iomux=2”表示复用M2(即UART3_TX_M2/UART3_RX_M2)。

uart id=3

uart iomux=2

修改完成后保存退出!

接着执行如下命令:

./ddrbin_tool rk3588 ddrbin_param.txt \

../bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.13.bin

2.修改u-boot

U-Boot其实是可以不用改动的,它会沿用ddrbin文件中的配置。

3.修改内核

如果是Android SDK,打开kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-android.dtsi文件,如果是Linux SDK,则打开kernel/arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi文件:

# Android SDK

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

# Linux SDK

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

找到fiq-debugger节点,修改“rockchip,serial-id”和“pinctrl-0”这两个属性的值,如下所示:

rockchip,serial-id = <3>;

pinctrl-0 = <&uart3m2_xfer>;     //配置引脚复用

再找到chosen节点,修改bootargs参数,更改串口的基地址,如下所示:

这个地址是串口的基地址,不同串口其基地址不同,RK3588一共有10个UART外设(UART0~UART9),对应的基地址如下所示:

       UART0      0xfd890000

       UART1      0xfeb40000

       UART2      0xfeb50000

       UART3      0xfeb60000

       UART4      0xfeb70000

       UART5      0xfeb80000

       UART6      0xfeb90000

       UART7      0xfeba0000

       UART8      0xfebb0000

       UART9      0xfebc0000

修改完成后保存退出!

如果是Android SDK,打开kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-atk-evb7-lp4-v10.dts文件,如果是Linux SDK,则打开kernel/arch/arm64/boot/dts/rockchip/rk3588-atk-devkit.dts文件:

# Android SDK

vi kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-atk-evb7-lp4-v10.dts

# Linux SDK

vi kernel/arch/arm64/boot/dts/rockchip/rk3588-atk-devkit.dts

由于fiq_debugger和普通串口互斥,在使能fiq_debugger节点后必须禁用对应的普通串口uart节点。在文件末尾添加如下内容:

&uart3 {

        status = "disabled";

};

这里禁用了普通串口UART3(本文是以UART3为例,你实际用的是哪个串口,你就禁用哪个)。修改完成后保存退出!

4.编译测试

以上修改完成后,需要重新编译u-boot和Linux内核。

如果是Android SDK,执行如下命令:

source build/envsetup.sh

lunch ATK_DLRK3588-userdebug

make installclean

./build.sh -UKA -J12

将编译生成的MiniLoaderAll.bin、uboot.img以及boot.img烧录到开发板上进行测试。

如果是Linux SDK,执行如下命令(此前已完整编译过整个SDK):

./build.sh alientek_rk3588_defconfig

./build.sh kernel

./build.sh clean:loader

./build.sh uboot

将编译生成的MiniLoaderAll.bin、uboot.img以及boot.img烧录到开发板上进行测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值