Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12612 Discussions

Quartus Pro 22.4: nios2-terminal STDIO Errors

dscully
Novice
1,427 Views

Hi,

 

I have recently upgraded from Quartus Pro 22.3 to 22.4 and have encountered a regression involving the nios2-terminal.

 

When a nios2-terminal is opened and any key is pressed the following messages appear

Error occurred while reading with ReadFile:
nios2-terminal: error: Gathering input from STDIO
nios2-terminal: error: Gathering input from STDIO
nios2-terminal: error: Gathering input from STDIO
...
nios2-terminal: error: Gathering input from STDIO
nios2-terminal: error: Gathering input from STDIO

The gathering input message repeats on the terminal without further input. If additional input is provided, the ReadFile error appears for each character typed.

 

For context, our application has a homebrew shell that uses the getchar() function from <stdio.h> that we call in the main loop. During initialization we use fcntl() to set non-blocking behavior as follows:

 fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK); // Add non-blocking behavior to STDIN

I have only confirmed this occurs on Windows 10 so far. The same  application software running the 22.3 version of the terminal does not show this behavior.

 

Please confirm this is a bug and advise if there is a workaround.

Thank you,

David

0 Kudos
1 Solution
KellyJialin_Goh
Employee
1,372 Views

Hi,

I have got some news back from the engineering team where this fix will be schedule in future Quartus releases and there will be no fix for the current 22.4 version.


Hope this clarify your doubts. Let me know if you need any further clarification from my end.


Thank you.

Regards,

Kelly



View solution in original post

0 Kudos
6 Replies
KellyJialin_Goh
Employee
1,406 Views

Hi,

Greetings and welcome to Intel's forum.

With the error message posted it is related to the JTAG UART, and terminal application running on Windows.

It is a known bug with the Quartus 22.4 version but not in the older versions. I will have to ask the engineering team to see what are their feedback on the fixes. I will get back to you as soon as I have any news from them.


Thank you.

Regards,

Kelly


0 Kudos
dscully
Novice
1,398 Views

Hi Kelly,

 

Thank you for confirming the bug. I can continue to use the 22.3 terminal in the meantime, I just wanted to make sure Intel was aware of the issue as I could not find a FPGA Knowledge Base article on this bug. Looking forward to any further insight from the engineering team.

 

Thank you,

David

KellyJialin_Goh
Employee
1,373 Views

Hi,

I have got some news back from the engineering team where this fix will be schedule in future Quartus releases and there will be no fix for the current 22.4 version.


Hope this clarify your doubts. Let me know if you need any further clarification from my end.


Thank you.

Regards,

Kelly



0 Kudos
dscully
Novice
1,355 Views

Glad to hear it will be fixed in the next version. Thank you again.

0 Kudos
KellyJialin_Goh
Employee
1,342 Views

Hi,

I’m glad that your question has been addressed, I now transition this thread to community support. If you have a new question, Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.


Thank you.

Regards,

Kelly Jialin, GOH




0 Kudos
BillP_
Novice
108 Views

I have similar behaviour with 22.1std.  Can this be caused by other issues such as a mis-match in fifo sizes.  I get several connectivity issues with the jtag uart or is this the same issue with the tools?

 

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
; Port Connectivity Checks: "top:example|jtag_uart:u_jtag_uart|jtag_uart_jtag_uart_0:jtag_uart_0|alt_jtag_atlantic:jtag_uart_jtag_uart_0_alt_jtag_atlantic" ;
+----------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------+
; Port ; Type ; Severity ; Details ;
+----------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------+
; raw_tck ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; tdi ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; jtag_state_rti ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; usr1 ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; clr ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; ena ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; ir_in ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; tdo ; Output ; Warning ; Declared by entity but not connected by instance. Logic that only feeds a dangling port will be removed. ;
; ir_out ; Output ; Warning ; Declared by entity but not connected by instance. Logic that only feeds a dangling port will be removed. ;
; jtag_state_cdr ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; jtag_state_sdr ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
; jtag_state_udr ; Input ; Warning ; Declared by entity but not connected by instance. If a default value exists, it will be used. Otherwise, the port will be connected to GND. ;
+----------------+--------+----------+----------------------------------------------------------------------------------------------------------------------------------------------+

0 Kudos
Reply