Nios® V Embedded Processor Design Handbook

ID 726952
Date 7/08/2024
Public
Document Table of Contents

2.6.1. Preventing Stalls by the JTAG UART

Table 16.  Differences between Traditional UART and JTAG UART
UART Type Description
Traditional UART Transmits serial data regardless of whether an external host is listening. If no host reads the serial data, the data is lost.
JTAG UART Writes the transmitted data to an output buffer and relies on an external host to read from the buffer to empty it.
The JTAG UART driver waits when the output buffer is full. The JTAG UART driver waits for an external host to read from the output buffer before writing more transmit data. This process prevents the loss of transmit data.

However, when system debugging is not required, such as during production, embedded systems are deployed without a host PC connected to JTAG UART. If the system selected the JTAG UART as the UART agent, it could cause stalling system because no external host is connected.

To prevent stalling by JTAG UART, apply of the following options:
Table 17.  Prevention on Stalling by JTAG UART
Options During Hardware Development (in Platform Designer) During Software Development (in Board Support Package Editor)
No UART interface and driver present Remove JTAG UART from the system Configure hal.stdin, hal.stdout and hal.stderr as None.
Use other UART interface and driver

Replace JTAG UART with other soft UART IP

Configure hal.stdin, hal.stdout and hal.stderr with other soft UART IP.

Preserve JTAG UART interface (without driver) Preserve JTAG UART in the system
  • Configure hal.stdin, hal.stdout and hal.stderr as None in the Board Support Package Editor.
  • Disable JTAG UART driver in BSP Driver tab.