3.1.2.4 Signaling

During USB enumeration, the host OS will start both 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.

When a terminal connects to the host, it must assert the DTR signal. 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 then 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 data that is queued for sending, 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, so no further data will be transferred to the host computer
  • Debugger UART transmitter will continue to send data that is queued for sending, but no new data is accepted from the host computer
  • Once the ongoing transmission is complete, level shifters (if available) are disabled, so 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 any 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, which means that during power-up, these lines are floating. To avoid any glitches resulting in unpredictable behavior like framing errors, the target device should enable the internal pull-up resistor on the pin connected to the debugger’s CDC TX pin.