3 On-Board Nano Debugger

This section describes the features and interfaces of the on-board debugger for programming and debugging.

3.1 Overview

The PIC32CM PL10 Curiosity Nano features an on-board Nano Debugger for programming and debugging. When connected to a host computer, the Nano Debugger appears as a composite USB device offering several interfaces:
  • Debugger: Enables programming and debugging of the target MCU.
  • Virtual serial port (CDC): Provides access to the target MCU’s UART interface.
  • Data Gateway Interface (DGI): Microchip’s proprietary interface for streaming data to the host computer.
  • Mass storage device: Provides kit information files and supports utility commands.
Tip: For detailed instructions and advanced features, refer to the Nano Debugger Manual.

3.2 Power and Status LED

The on-board debugger controls a Power and Status LED (marked PS) on the PIC32CM PL10 Curiosity Nano board. The table below shows how the different operation modes control the LED.

Table 3-1. On-Board Debugger LED Control
Operation ModePower and Status LED
Boot Loader modeThe LED blinks slowly during power-up
Power-upThe LED is ON
Normal operationThe LED is ON
ProgrammingActivity indicator: The LED blinks slowly during programming or debugging
Drag-and-drop programming
Success:
The LED blinks slowly for 2 sec.
Failure:
The LED blinks rapidly for 2 sec.
FaultThe LED blinks rapidly if a power fault is detected
OffThe on-board debugger is powered down, the LED is OFF
Info: Slow blinking is approximately 1 Hz, and rapid blinking is about 5 Hz.

3.3 Connections

The table below lists the connections between the target MCU and the debugger. When the debugger is inactive, these connections are set to high-impedance (tri-state) mode. This allows users to use these pins for any function without interference from the debugger.

Info: The 12 edge connections closest to the debugger USB connector have a standardized pinout, but the function of the programming and debugging pins varies depending on the programming interface used.
Table 3-2. On-Board Debugger Connections
Debugger PinPIC32CM6408PL10048 PinDescription
CDC TXPB01SERCOM1 PAD1 RX USB CDC TX line
CDC RXPB00SERCOM1 PAD0 TXUSB CDC RX line
DBG0PA20SWDIODebug data line
DBG1PA31SWCLKDebug clock line
DBG2PB03GPIODebug GPIO0 and user switch (SW0)
DBG3PA30RESETReset line
VOFFPull VOFF low to disable the on-board regulator and allow external power on VTG; VOFF is monitored by the debugger
IDIdentification of supported base boards and extensions at power-up
Figure 3-1. Curiosity Nano Debugger Pinout
Tip: For the complete PIC32CM PL10 Curiosity Nano pinout, see the PIC32CM PL10 Curiosity Nano Pinout.

3.4 Disconnecting the On-Board Debugger

All signals between the on-board debugger and the target device are routed through cut straps on the bottom of the board. These cut straps can be used to disconnect the debugger from the target for various purposes, such as:
  • Evaluating the target MCU’s power consumption in isolation removes the on-board debugger's influence on current measurements
  • Using the target MCU with an external programmer/debugger
  • Using the on-board debugger as a standalone programmer/debugger for other devices
The following cut straps are available to separate the debugger from the target:
  • Debugger Pins (J101, J102, J103, J104, J105, J106)
  • Power
Attention: Cutting the GPIO straps to the on-board debugger disables the virtual serial port, programming, debugging, and data streaming functions.
Figure 3-2. Curiosity Nano Debugger Cut Straps
Tip: To reconnect any cut connections, use solder or mount a 0 Ω 0402-size resistor across the cut strap.

3.5 Connecting External Debuggers

Although the board includes an on-board debugger, external debuggers can also be connected directly to the target MCU for programming and debugging. When the on-board debugger is not actively in use, it keeps all pins connected to the board edge and the target MCU in a tri-state condition. This ensures that the on-board debugger does not interfere with any external debug tools.

Figure 3-3. Connecting an External Debugger/Programmer to a Curiosity Nano Board
CAUTION: To prevent contention, do not use the on-board debugger for programming or debugging while the external debugger is connected.