我只使用DDR和UART1配置Zynq 7020。
然后我导入xuartps_low_echo_example并同时创建BSP。
运行该示例时,可以在Putty(115200,8个数据位,1个停止位,无奇偶校验,无流量控制)中正确显示打印的消息。
但是当它试图从UART1读取数据时,它就停留在这一行:while(!XUartPs_IsReceiveData(UartBaseAddress));
我检查源代码,发现它正在读取0xe000102c处的uart1状态寄存器。
我不知道为什么REMPTY位(bit1)总是被置位。
顺便说一句,uart自我测试的例子很成功。
此外,当我使用microzed的内部linux映像启动时,uart适用于putty。
独立模式有什么问题?
test_uart1.zip 4826 KB
以上来自于谷歌翻译
以下为原文
I configure the Zynq 7020 with only DDR and UART1. Then I import the xuartps_low_echo_example and the BSP is created at the same
time. When running the example, the printed message can be seen in Putty (115200, 8 data bits,1 stop bit ,None Parity ,None flow control) correctly. But when it try to read data from UART1, it's stuck at the line:
while (!XUartPs_IsReceiveData(UartBaseAddress)); I check the source code and found it's reading the uart1 status register at 0xe000102c. I don't know why the REMPTY bit (bit1) is always asserted.
BTW, the uart self testing example is successful. Also when I boot with microzed's internal linux image, the uart works well with putty. What's wrong with the standalone mode?
test_uart1.zip 4826 KB