背景

RK系列的SDK给的默认的调试串口都是uart2/1500000波特率,本次调试设备已经把console调试口改为了uart0,所以需要修改下uboot和内核,然后把波特率设为常用的115200。

注:本次调试的SDK版本为原厂的V2.2版本

1.uboot修改

1)修改rv1126-evb.dtsrv1126-u-boot.dtsi

把uart2改成uart0, 对应的stdout-path也改为 uart0

2)修改rv1126.dtsi

        fiq_debugger: fiq-debugger {
                compatible = "rockchip,fiq-debugger";
-               rockchip,serial-id = <2>;
+               rockchip,serial-id = <0>;
                rockchip,wake-irq = <0>;
                rockchip,irq-mode-enable = <0>;
                rockchip,baudrate = <115200>;  /* Only 115200 and 1500000 */

3)修改rv1126_defconfig

-CONFIG_DEBUG_UART_BASE=0xff570000
+CONFIG_DEBUG_UART_BASE=0xff560000

注意CONFIG_DEBUG_UART_ALWAYS这个选项不要勾上,还有一些教程里说CONFIG_DEBUG_UART_SHIFT要改这个值,其实没有必要。

2.内核修改

1)关闭fiq_debug串口

修改rv1126-evb-v10.dtsi

 &fiq_debugger {
-       status = "okay";
+       status = "disabled";
 };

rv1126_defconfig中取消勾选CONFIG_FIQ_DEBUGGER

2)修改默认的bootargs

修改rp-rv1126.dts,console口改为ttyS0,波特率为115200

-             bootargs = "loglevel=7 earlycon=uart8250,mmio32,0xff570000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=ext4 rw rootwait snd_aloop.index=7";
+             bootargs = "loglevel=7 earlycon=uart8250,mmio32,0xff560000 console=ttyS0,115200n8 root=PARTUUID=614e0000-0000 rootfstype=ext4 rw rootwait snd_aloop.index=7";

3.现象

至此已经把默认的uart2调试串口改为uart0,因为最上层的boot固件瑞芯微是没有开源的,没法修改,在系统启动的时候uart2中还是会输出一些东西,因为改了波特率所以控制台看到的是乱码,之后在uart0的控制台看到正常的启动信息。

如果觉得我的文章对你有用,请随意赞赏