6 On-Board Nano Debugger

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

6.1 Overview

The AVR32LA32 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 device.
  • Virtual serial port (CDC): Provides access to the target device’s UART interface.
  • Data Gateway Interface (DGI): Microchip’s proprietary interface for streaming data to the host computer.
  • Mass storage device: Supports drag-and-drop programming of the target device, provides kit information files and supports utility commands.
Tip: For detailed instructions and advanced features, refer to the Nano Debugger Manual.

6.2 Power and Status LED

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

Table 6-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
OffWhen the on-board debugger is powered down, the LED is OFF
Info: Slow blinking is approximately 1 Hz, while rapid blinking is about 5 Hz.

6.3 Connections

The table below lists the connections between the target device 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. The debugger lines include series resistors to prevent short-circuits and potential damage to the target I/O pins when both the debugger and target attempt to drive a pin simultaneously.

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 6-2. On-Board Debugger Connections
Debugger Pin AVR32LA32 PinDescription
CDC TXPC2USART0 RX USB CDC TX line
CDC RXPC1USART0 TXUSB CDC RX line
DBG0PF7UPDIDebug data line
DBG1PF5LED0/GPIO1Debug GPIO1/LED0
DBG2PC0SW0/GPIO0Debug GPIO0/SW0
DBG3PF6RESETReset 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 6-1. Curiosity Nano Debugger Pinout
Tip: For the complete AVR32LA32 Curiosity Nano pinout, see the AVR32LA32 Curiosity Nano Pinout.

6.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 device’s power consumption in isolation removes the on-board debugger's influence on current measurements
  • Using the target device 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 6-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.

6.5 Connecting External Debuggers

Although the board includes an on-board debugger, external debuggers can also be connected directly to the target device 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 device in a tri-state condition. This ensures that the on-board debugger does not interfere with any external debug tools.

Figure 6-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.