ipnc-rdk的控制台串口默认为uart0,现在想改成uart2,分析应该需要在uboot中做相应修改。
尝试了一下,在uboot的ipnc\Source\ti_tools\ipnc_psp_arago\u-boot\include\configs的ti8148_ipnc.h和ti8148_ipnc_quick_mmc.h中增加CONFIG_SYS_NS16550_COM3的定义
#define CONFIG_SYS_NS16550_COM1 0x48020000 /* Base EVM has UART0 */
#define CONFIG_SYS_NS16550_COM2 0x48022000
#define CONFIG_SYS_NS16550_COM3 0x48024000 /*增加uart2的地址定义*/
并对串口选择做出如下修改
/*
* select serial console configuration
*/
/*#define CONFIG_SERIAL1 1
#define CONFIG_CONS_INDEX 1*/
#define CONFIG_SERIAL1 3 /*改成uart2*/
#define CONFIG_CONS_INDEX 3 /*改成uart2*/
#define CONFIG_SYS_CONSOLE_INFO_QUIET
但是,修改完以后,连上终端,uart2还是没有打印信息输出。
请问专家,是不是还有别的什么地方需要修改?谢谢!
Ternence_Hsu:
你好;
/etc/inittab 有修改吗?
uboot 、 内核 、 文件系统都需要修改
Huchong Li:
回复 Ternence_Hsu:
还没修改,只进行了uboot的修改,想法是先看到uboot的启动信息,然后再去修改内核和文件系统。
但是,目前uboot的启动信息没有打印出来,所以后续的修改也没有展开。
Ternence_Hsu:
回复 Huchong Li:
有先配置GPIO复用模式为 UART 模式吗?
Huchong Li:
回复 Ternence_Hsu:
没有啊,请问如何配置GPIO复用模式为 UART 模式?另外,之前用uart0输出是可以打印信息的
Huchong Li:
回复 Ternence_Hsu:
好的,谢谢!我试试看!
Huchong Li:
回复 Ternence_Hsu:
您好,我在ipnc/Source/ti_tools/ipnc_psp_arago/u-boot/board/ti/ti8148_ipnc中对mux.h文件进行修改:
/* -56 */ BIT(0), BIT(0), BIT(0), BIT(0),/* -60 */ BIT(0), BIT(0), BIT(0), BIT(0),
/* -56 */ BIT(0), BIT(0), BIT(0), BIT(3),/* -60 */ BIT(0), BIT(3), BIT(0), BIT(0),
依据是uart2_TXD和uart2_RXD接的分别是U3和U4,而根据DM8148的管脚复用表
重新编译uboot后运行,uart2还是没有输出!用示波器去测试uart2的TXD和RXD管脚,RXD的闲置状态为高电平,TXD的闲置状态为低电平,可以判断至少uart2的TXD管脚没有配置对。
请问到底是是管脚复用没有修改对,还是uboot还有什么其他需要修改的地方呢?
十分感谢您的解答!
Huchong Li:
回复 Ternence_Hsu:
重发管脚复用的表格
Huchong Li:
回复 Huchong Li:
找到原因了,应该是改成
/* 60 */ BIT(0), BIT(0), BIT(3), BIT(0),
/* 64 */ BIT(3), BIT(0), BIT(0), BIT(0),
因为前面引脚的编号是每行的结束编号,不是起始编号。
谢谢!