您尚未登录。

楼主 # 2022-02-10 15:05:49

dfcdfdfc
会员
注册时间: 2021-12-22
已发帖子: 9
积分: 34

修改D1s的串口控制台,成功了但没完全成功,请教原因

是这样的,D1s的MQ补丁包里控制台是串口0,我需要改为串口1,在查了帖子和资料后,我做了如下修改:

device/config/chips/d1/configs/mangopi_mq_rgb800x480_gt9xx/env.cfg

    - earlyprintk=sunxi-uart,0x02500000
    - console=ttyS0,115200

    + earlyprintk=sun02i-uart,0x02500400
    + console=ttyS1,115200

device/config/chips/d1/configs/mangopi_mq_rgb800x480_gt9xx/sys_config.fex

    - uart_debug_port = 0
    - uart_debug_tx   = port:PE02<6><1><default><default>
    - uart_debug_rx   = port:PE03<6><1><default><default>

    + uart_debug_port = 1
    + uart_debug_tx   = port:PG06<2><1><default><default>
    + uart_debug_rx   = port:PG07<2><1><default><default>

device/config/chips/d1/configs/mangopi_mq_rgb800x480_gt9xx/linux5.4/board.dts

    - uart1_pins_b: uart1_pins
    - uart_index  = <0x1>;

    + uart1_pins_b: uart1_pins@1                // 这里让串口1格式和其他串口都一致
    + uart_index  = <0x0>;                      // 不让btlpm占用串口1

lichee/linux-5.4/arch/riscv/boot/dts/sunxi/board.dts

    - uart1_pins_b: uart1_pins
    - uart_index  = <0x1>;

    + uart1_pins_b: uart1_pins@1                // 原因和上面一样
    + uart_index  = <0x0>;                      // 原因和上面一样

lichee/linux-5.4/arch/riscv/boot/dts/sunxi/sun20iw1p1.dtsi

    - status = "disabled";
    - bootargs = "console=ttyS0,115200n8 ...
    - stdout-path = "serial0:115200n8";

    + status = "okay";                          // 串口1使能
    + bootargs = "console=ttyS1,115200n8 ...    // chosen 部分
    + stdout-path = "serial1:115200n8";         // chosen 部分

lichee/brandy-2.0/u-boot-2018/include/configs/sunxi-common.h

    + #undef CONFIG_CONS_INDEX
    + #define CONFIG_CONS_INDEX 2

修改的地方有:env.cfg里配置控制台为ttyS1、sys_config.fex里初始化调试串口为串口1、board.dts里不让外设占用串口1、sun20iw1p1.dtsi里是能串口1并配置内核启动参数里的控制台为串口1、sunxi-common.h里强制定义CONFIG_CONS_INDEX为2(即串口1)。

目前的现象:串口线接串口1,SD启动,已经可以看到完整的打印信息。本以为正确了,结果当我输入任意字符时(包括回车)终端都会原封不动的返回来,并不能进入系统! 当我刷入xboot固件时,发现串口1可以正常输入命令并交互,说明串口1及其外围硬件是没问题的。请问是哪里修改的不到位吗?

离线

楼主 #3 2022-02-11 14:39:52

dfcdfdfc
会员
注册时间: 2021-12-22
已发帖子: 9
积分: 34

Re: 修改D1s的串口控制台,成功了但没完全成功,请教原因

哇酷小二 说:

会不会是 PG06 / PG07 被别的功能复用了呢?

--------------

大概看了一下, 并没有复用。

谢谢帮助。

我又试了一下除UART0外的其他串口,都有这个毛病:系统启动后只能输出信息,按按键无任何反应。过了一会再按按键串口有反应了,即原封不动的返回输入的任何字符(此时应该是系统初始化了什么东西)。

目前看来除了UART0之外的其他串口均只能打印,不能回车进系统。怪哉

离线

楼主 #4 2022-02-11 17:44:55

dfcdfdfc
会员
注册时间: 2021-12-22
已发帖子: 9
积分: 34

Re: 修改D1s的串口控制台,成功了但没完全成功,请教原因

问题已解决,根文件系统的配置文件里的登陆串口也要改到串口1。至此修改才算完整。这个帖子也算给大家一个参考吧。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn