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 on 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, 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
- Level shifters (if available) are
not disabled, so 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.