4.1.2.4 Signaling

During USB enumeration, the host OS will start both the communication and data pipes of the CDC interface. At this point, it is possible to set and read back the baud rate and other UART parameters of the CDC, but data sending and receiving will not be enabled.

The terminal must assert the DTR signal when it connects to the host. As this is a virtual control signal implemented on the USB interface, it is not physically present on the board. Asserting the DTR signal from the host will indicate to the on-board debugger that a CDC session is active. The debugger will enable its level shifters (if available) and start the CDC data send and receive mechanisms.

Deasserting DTR in debugger firmware version 1.20 or earlier has the following behavior:
  • Debugger UART receiver is disabled, and no further data will be transferred to the host computer
  • Debugger UART transmitter will continue to send queued data ready for transfer, but no new data is accepted from the host computer
  • Level shifters (if available) are not disabled, and the debugger CDC TX line remains driven
Deasserting DTR in debugger firmware version 1.21 or later has the following behavior:
  • Debugger UART receiver is disabled, and no further data will be transferred to the host computer
  • Debugger UART transmitter will continue to send queued data ready for transfer, but no new data is accepted from the host computer
  • Once the ongoing transmission is complete, level shifters (if available) are disabled, and the debugger CDC TX line will become high-impedance
Remember: Set up the terminal emulator to assert the DTR signal. Without the signal, the on-board debugger will not send or receive data through its UART.
Tip: The on-board debugger’s CDC TX pin will not be driven until the CDC interface is enabled by the host computer. Also, there are no external pull-up resistors on the CDC lines connecting the debugger and the target, meaning the lines are floating during power-up. The target device may enable the internal pull-up resistor on the pin connected to the debugger’s CDC TX pin to avoid glitches resulting in unpredictable behavior like framing errors.