This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

问题未解决,继续请教:AM3352的uart3的配置使用问题,谢谢!



项目需求,现在讲串口从默认的uart0切到uart3口上

uart3硬件的连接是按照BB-BLACK的默认方式,即"spi0_cs1.uart3_rxd"和"ecap0_in_pwm0_out.uart3_txd"

我修改了如下的地方,但是在uart3口未能看到输出打印,还请TI的工程师帮忙一起看下,给个指导思路,谢谢(代码是ti-sdk-am335x-evm-06.00.00.00,uart0是好用的)

u-boot中

1.boards.cfg中 将am335x_evm的SERIAL1,CONS_INDEX=1修改为 SERIAL4,CONS_INDEX=4  

2. am335x_evm.h中 将console=ttyO0, 修改为console=ttyO3,

linux中

1.board-am335xevm.c文件中uart3_init已经执行

/* setup uart3 */
static void uart3_init(int evm_id, int profile)
{
setup_pin_mux(uart3_pin_mux);
return;
}

  • 你现在是卡在哪里?是连uboot都没法输出么?如果是就先确认一下uboot的这里

    建议先用SD卡的方式,使用am335x_evm_uart3的配置编译生成MLO, uboot.img,然后用SD卡启动,测试UART3是否能正常打印log。

    如果确认OK了之后,在你的norboot的基础上改一个config file进行测试不就行了么

    下面是原始的:

    am335x_evm arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1

    am335x_evm_nor arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,NOR
    am335x_evm_norboot arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT
    am335x_evm_spiboot arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT
    am335x_evm_uart1 arm armv7 am335x ti am33xx am335x_evm:SERIAL2,CONS_INDEX=2
    am335x_evm_uart2 arm armv7 am335x ti am33xx am335x_evm:SERIAL3,CONS_INDEX=3
    am335x_evm_uart3 arm armv7 am335x ti am33xx am335x_evm:SERIAL4,CONS_INDEX=4
    am335x_evm_uart4 arm armv7 am335x ti am33xx am335x_evm:SERIAL5,CONS_INDEX=5
    am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:SERIAL6,CONS_INDEX=6

    增加一个:

    am335x_evm_noruart arm armv7 am335x ti am33xx am335x_evm:SERIAL4,CONS_INDEX=4,NOR,NOR_BOOT

    然后用你这个am335x_evm_noruart 来编译测试。

  • 已解决,修改点即 如上所述,、

    感谢大家关注

  • HI Steven,有个新情况,还得继续请教下你

    请问下linux下 除了bootcmd的console=ttyO3修改,还需要哪些地方要调整?

    现在的情况是 无论在norflash启动方式还是SD卡启动方式下,uart3在boot中是有打印的,但是跑到linux下就没反应了(如下),(uart0在两种启动方式下都是有打印且启动ok的)


    Card did not respond to voltage select!
    Booting from nor ...
    ## Booting kernel from Legacy Image at 81000000 ...
    Image Name: Linux-3.2.0
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2169760 Bytes = 2.1 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...------------------------在此处就没打印了

    Uncompressing Linux... done, booting the kernel.


    =========uart3_init=========


    ---------*-*device----------

  • HI Steven,有个新情况,还得继续请教下你

    请问下linux下 除了bootcmd的console=ttyO3修改,还需要哪些地方要调整?

    现在的情况是 无论在norflash启动方式还是SD卡启动方式下,uart3在boot中是有打印的,但是跑到linux下就没反应了(如下),(uart0在两种启动方式下都是有打印且启动ok的)


    Card did not respond to voltage select!
    Booting from nor ...
    ## Booting kernel from Legacy Image at 81000000 ...
    Image Name: Linux-3.2.0
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2169760 Bytes = 2.1 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...------------------------在此处就没打印了

    Uncompressing Linux... done, booting the kernel.


    =========uart3_init=========


    ---------*-*device----------

  • 徐工,

      请问

      

    =========uart3_init=========


    ---------*-*device----------

      这是哪个口打印出来的? 您在kernel中是否正确配置了uart3.

    谢谢!

  • 秦工 你好

    =========uart3_init=========” 这个是我代码中配置 选择输出是uart0的情况下, 另在驱动初始化过程中 添加上的init  uart3的打印出来的

    请问下 秦工:要在版本中用起uart3来,除了在bootcmd的 console=ttyO3外,还需要哪些设置?kconfig中也没找到相关的选择

    谢谢~!

  • 徐工,

     如果还是用uart1 作为console,uart3在kernel中能工作吗? 上述log只能看到uart3被初始化了,但不能表明uart3是否能正常工作。

    谢谢!