项目需求,现在讲串口从默认的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;
}
Steven Liu1:
你现在是卡在哪里?是连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,NORam335x_evm_norboot arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOTam335x_evm_spiboot arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOTam335x_evm_uart1 arm armv7 am335x ti am33xx am335x_evm:SERIAL2,CONS_INDEX=2am335x_evm_uart2 arm armv7 am335x ti am33xx am335x_evm:SERIAL3,CONS_INDEX=3am335x_evm_uart3 arm armv7 am335x ti am33xx am335x_evm:SERIAL4,CONS_INDEX=4am335x_evm_uart4 arm armv7 am335x ti am33xx am335x_evm:SERIAL5,CONS_INDEX=5am335x_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 来编译测试。
user4131006:
已解决,修改点即 如上所述,、
感谢大家关注
user4131006:
回复 Steven Liu1:
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 … OKOK
Starting kernel …————————在此处就没打印了
Uncompressing Linux… done, booting the kernel.
=========uart3_init=========
———*-*device———-
user4131006:
回复 Steven Liu1:
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 … OKOK
Starting kernel …————————在此处就没打印了
Uncompressing Linux… done, booting the kernel.
=========uart3_init=========
———*-*device———-
Yaoming Qin:
回复 user4131006:
徐工,
请问
=========uart3_init=========
———*-*device———-
这是哪个口打印出来的? 您在kernel中是否正确配置了uart3.
谢谢!
user4131006:
回复 Yaoming Qin:
秦工 你好
“=========uart3_init=========” 这个是我代码中配置 选择输出是uart0的情况下, 另在驱动初始化过程中 添加上的init uart3的打印出来的
请问下 秦工:要在版本中用起uart3来,除了在bootcmd的 console=ttyO3外,还需要哪些设置?kconfig中也没找到相关的选择
谢谢~!
Yaoming Qin:
回复 user4131006:
徐工,
如果还是用uart1 作为console,uart3在kernel中能工作吗? 上述log只能看到uart3被初始化了,但不能表明uart3是否能正常工作。
谢谢!
TI中文支持网



