3.1 EDK OpBuUART——我使用OpbjUARTLITE(或UART16450/550)作为STDUT,但是当我使用“PrtTf”函数时,出现了意外字符。

描述

一般描述:

当我将OpbjuUrtLITE(或UART16450/550)设置为STDUT时,当我使用“PrtTf”函数时,在我的终端上出现了奇怪的字符。

解决方案

在大多数情况下,这是一个依赖于D9连接器布局的特定于板的问题。请参阅您的板供应商的示意图。

一些有这个问题的板有RTSN连接到FPGA。在这种情况下,必须确保FPGA正确地驱动RTSGN信号(如果将流程控制设置为“无”)。

解决方案1

您可以将RTSGN信号绑定到一个值(取决于板上RS232器件的极性),无论是在UCF还是MHS文件中。您可以使用OPB UART Lite和UART 16450/550这两种方法。例如,使用UART Lite,您可以使用如下方法:

定义全局端口

端口RStnn=NETONGND,DIR=输出MyEC-2VP4板

解决方案2

对于OPB(PLB)UART 16450/550,可以从该核心驱动RTSN n位,并在应用软件中设置调制解调器控制寄存器中的RTS位如下:

“1”-驱动RTSN Low

“0”-驱动RTSN High

UART Lite没有这个接口/寄存器。

请参阅您的EDK文档中的“处理器IP参考指南”,并务必咨询您的板供应商的示意图,以确定适当的极性。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 17:15:44 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它