RK3568-修改调试串口对应的串口端口

瑞芯微SDK默认将uart2_m0作为调试串口,以下方法将调试串口修改为uart5_m1。

修改bootloader

修改/OK3568-linux-source/rkbin/tools/ddrbin_param.txt文件,5表示串口5。1表示复用m1。

在这里插入图片描述

执行./ddrbin_tool ddrbin_param.txt ../bin/rk35/rk3568_ddr_1560MHz_v1.11.bin命令

在这里插入图片描述

修改uboot

diff --git a/arch/arm/dts/OK3568-C.dts b/arch/arm/dts/OK3568-C.dts
index ddbdaee..56c8e7c 100644
--- a/arch/arm/dts/OK3568-C.dts
+++ b/arch/arm/dts/OK3568-C.dts
@@ -105,6 +105,10 @@
 	status = "okay";
 };
 
+&uart5 {
+	status = "okay";
+};
+
 &vop {
 	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
 	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL> , <&cru PLL_GPLL>;
diff --git a/arch/arm/dts/rk3568-u-boot.dtsi b/arch/arm/dts/rk3568-u-boot.dtsi
index bcec6fe..56d058c 100644
--- a/arch/arm/dts/rk3568-u-boot.dtsi
+++ b/arch/arm/dts/rk3568-u-boot.dtsi
@@ -14,7 +14,7 @@
 	};
 
 	chosen {
-		stdout-path = &uart2;
+		stdout-path = &uart5;
 		u-boot,spl-boot-order = &sdmmc0, &sdhci, &nandc0, &spi_nand, &spi_nor;
 	};
 };
@@ -36,6 +36,14 @@
 	status = "okay";
 };
 
+&uart5 {
+	clock-frequency = <24000000>;
+	u-boot,dm-spl;
+	/delete-property/ pinctrl-names;
+	/delete-property/ pinctrl-0;
+	status = "okay";
+};
+
 &grf {
 	u-boot,dm-pre-reloc;
 	status = "okay";
diff --git a/configs/OK3568-C_defconfig b/configs/OK3568-C_defconfig
index efddde9..e7648fb 100644
--- a/configs/OK3568-C_defconfig
+++ b/configs/OK3568-C_defconfig
@@ -166,7 +166,7 @@ CONFIG_DM_RESET=y
 CONFIG_SPL_DM_RESET=y
 CONFIG_SPL_RESET_ROCKCHIP=y
 CONFIG_BAUDRATE=115200
-CONFIG_DEBUG_UART_BASE=0xFE660000
+CONFIG_DEBUG_UART_BASE=0xfe690000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_ROCKCHIP_SFC=y

修改kernel

diff --git a/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi b/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi
index 31ffd6024..cb788b447 100644
--- a/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi
+++ b/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi
@@ -392,14 +392,14 @@
 
 	fiq-debugger {
 		compatible = "rockchip,fiq-debugger";
-		rockchip,serial-id = <2>;
+		rockchip,serial-id = <5>;
 		rockchip,wake-irq = <0>;
 		/* If enable uart uses irq instead of fiq */
 		rockchip,irq-mode-enable = <1>;
 		rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */
 		interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
-		pinctrl-0 = <&uart2m0_xfer>;
+		pinctrl-0 = <&uart5m1_xfer>;
 		status = "okay";
 	};
 
@@ -1804,7 +1804,7 @@
 };
 
 &uart5 {
-	status = "okay";
+	status = "disabled";
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart5m1_xfer>;
 };
diff --git a/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts b/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts
index 178b4d831..977417144 100644
--- a/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts
+++ b/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts
@@ -2,6 +2,6 @@
 
 / {
 	chosen: chosen {
-		bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait";
+		bootargs = "earlycon=uart8250,mmio32,0xfe690000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait";
 	};
 };

最后执行全编译操作

./build.sh uboot
./build.sh kernel

分别烧写分区

分步烧写uboot/rk356x_spl_loader_v1.11.111.bin到loader分区
烧写uboot/uboot.img到uboot分区
烧写kernel/boot.img到boot分区
### 如何在飞凌 RK3588 上进行串口调试 #### 准备工作 为了确保顺利进行串口调试,在开始前需准备必要的硬件和软件资源。确认拥有USB转TTL串口小板,该配件支持多种电压电平转换,适用于连接至目标开发板并实现通信功能[^1]。 #### 自回环测试验证线路完好性 建议初次尝试时采用TX接RX的方式构建简单的自回环电路来进行初步的功能检测。如果在此阶段一切正常,则表明物理连接无误;反之则可能涉及线缆质量问题或其他外部因素干扰[^4]。 #### 修改设备树配置文件启用指定UART端口 针对特定型号的核心板(如本案例中的OK3588-C),有时默认设置下的某些外设接口并未被激活。对于这种情况,可以通过编辑对应的Device Tree Source (DTS) 文件来调整引脚分配策略。具体而言,当遇到需要重新映射UART信号的情况时,应参照官方文档说明找到负责管理GPIO复用关系的数据表项,并据此更新项目源码仓库内的`.dtsi`模板实例。例如,要开启UART3通道的话,就要依照如下方式操作: ```bash # 找到rk3588s-pinctrl.dtsi里的uart3定义部分 vi rk3588s-pinctrl.dtsi # 将所选IO口的标签名赋予给新的UART路径描述符 &pc { uart3m1_xfer: uart3_m1_pins { /* 假定选择了PC0, PC1 */ mux = <&pmux UART3M1_XFER>; drive-strength = <2>; bias-disable; }; }; # 更新顶层DTS文件以反映变更后的I/O布局 vi rk3588-firefly-itx-3588j.dtsi // 添加或修改现有节点属性指向新创建的UART入口点 chosen { stdout-path = "serial@ff1a0000"; // 或其他实际地址 }; ``` 完成上述更改后记得执行编译指令以便生成最新的固件镜像用于后续刷机部署[^5]。 #### 实施全双工通讯性能评估 最后一步是对已配置好的串行链路实施全面的质量检验。借助于诸如`lszrz`这样的实用工具能够方便快捷地开展大规模数据吞吐量实验,从而帮助识别潜在瓶颈所在之处以及衡量整体效率水平。此外,依据实测所得反馈信息进一步调优参数设定直至达到预期效果为止[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Paper_Love

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值