背景
RK系列的SDK给的默认的调试串口都是uart2/1500000波特率,本次调试设备已经把console调试口改为了uart0,所以需要修改下uboot和内核,然后把波特率设为常用的115200。
注:本次调试的SDK版本为原厂的V2.2版本
1.uboot修改
1)修改rv1126-evb.dts和rv1126-u-boot.dtsi
把uart2改成uart0, 对应的stdout-path也改为 uart0
2)修改rv1126.dtsi
代码语言:javascript复制 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
代码语言:javascript复制-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
代码语言:javascript复制 &fiq_debugger {
- status = "okay";
status = "disabled";
};
在rv1126_defconfig中取消勾选CONFIG_FIQ_DEBUGGER
2)修改默认的bootargs
修改rp-rv1126.dts,console口改为ttyS0,波特率为115200
代码语言:javascript复制- 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的控制台看到正常的启动信息。
版权属于:咖啡走糖
本文链接:https://cloud.tencent.com/developer/article/2152396
若无注明,本文皆咖啡走糖原创,转载时必须注明出处及本声明!