问题描述
我们正在尝试在定制imx6ulz板上暴露的GPIO1_IO2和IO3焊盘上路由UART1 TX和RX信号。在将TTL到USB电缆连接到这两个引脚上之后,我们希望在控制台屏幕上获得u-boot输出。
该板靠近参考mx6ullevk板,因此我们删除了路由UART的默认行,并在mx6ullevk.c文件中添加了GPIO1_IO2和IO3路由,如下所示。
static iomux_v3_cfg_t const uart1_pads[] = {
MX6_PAD_UART1_TX_DATA__UART1_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),//REMOVED LInes
MX6_PAD_UART1_RX_DATA__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),//REMOVED LInes
MX6_PAD_GPIO1_IO02__UART1_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),//ADDED LInes
MX6_PAD_GPIO1_IO03__UART1_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),//ADDED LInes
};
其余setup_iomux_uart()
函数保持不变,并在board_early_init()
函数内部被调用。
在/include/configs/mx6ullevk.h
文件中已经定义了UART1_BASE寄存器,并且
ttymxc0
已经是默认的控制台值,因此我们认为不需要在其中进行任何编辑。
一旦使用这些更改编译了u-boot.imx映像,那么在通过uuu工具加载并引导u-boot时,将无法在这2个TX和RX引脚上获得任何输出。最重要的是,我们在EVK板上尝试了相同的u-boot映像,并且仍然在默认UART1端口上看到输出。我们以为是因为我们更改了UART1引脚的路由,所以在EVK板上看不到任何东西。
引脚的布线是否正确完成,我们在某处缺少步骤了吗?还是我们需要在board.c文件中以不同的方式对待GPIO路由?在正确方向上的任何帮助将不胜感激。我们知道,也可以修改设备树文件以供内核查看这些enw路由,但希望首先在这两个引脚上获取u-boot输出。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)