Xilinx Zynq console rx not working

mbenson at windhoverlabs.com mbenson at windhoverlabs.com
Mon Aug 16 13:40:45 UTC 2021


I just built and ran the zc702 build on Qemu yesterday with no problems.  I ran the hello.exe sample.  But, I launched it using Vitis 2020.2 so maybe it was a qemu difference?  Master branch.  RTEMS 6.

Sent from my iPhone

> On Aug 16, 2021, at 08:03, Kinsey Moore <kinsey.moore at oarcorp.com> wrote:
> 
> On 8/16/2021 04:45, Chris Johns wrote:
>>> On 16/8/21 6:38 pm, Chris Johns wrote:
>>> I have taken a closer look at the driver. I am receiving RX interrupts and the
>>> characters are being queued however the receive FIFO trigger interrupt is only
>>> raised when the FIFO reaches the set threshold of half the FIFO size. I suspect
>>> there is an assumption the RX timeout will fire but it is not.
>> Doing this is questionable ....
>> https://git.rtems.org/rtems/tree/bsps/shared/dev/serial/zynq-uart.c#n222
>> You cannot send a character when touching the attributes. Where is this hardware
>> bug documented by Xilinx?
> The attributes are done being touched and the TX/RX enable flags are set again before sending the character. I was seeing the same behavior on Zynq QEMU even with this code removed.
> 
> I couldn't find the hardware bug documented anywhere, but out of the 3 ZynqMP boards I have one requires this consistently.
>> My application does this ...
>>    if (tcgetattr(fileno(stdout), &term) < 0)
>>        error_message();
>>    cfsetispeed (&term, B115200);
>>    cfsetospeed (&term, B115200);
>>    if (tcsetattr (fileno(stdout), TCSADRAIN, &term) < 0)
>>        error_message();
>>    if (tcgetattr(fileno(stdin), &term) < 0)
>>        error_message();
>>    cfsetispeed (&term, B115200);
>>    cfsetospeed (&term, B115200);
>>    if (tcsetattr (fileno(stdin), TCSADRAIN, &term) < 0)
>>        error_message();
>> and this kills the receive interrupts.
> 
> Does removing the null character kick restore functionality for you in this case?
> 
> 
> Kinsey
> 
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list