Debugging
USB-to-UART Configuration Speed ICSP Cable Software for NSDSP Source Code SDK Supported DevicesNSDSP On-Chip Debugging (OCD)
Currently, there is no debugging software for NSDSP. NSDSP does not support MPLAB or any other third-party debugging software.
NSDSP uses on-chip debugging hardware (referred in Microchip documentation as ICD®). Different PIC devices have different OCD capabilities, namely different number of hardware breakpoints. Some PIC devices do not support OCD at all. Please refer to the list of supported devices to see if your device has debugging capabilities.
Breakpoints
NSDSP supports two different types of breakpoints.
Fixed breakpoints must be injected by the debugging software before the code is programmed on the chip. Each breakpoint requires space for few extra instructions, which execute as NOP if the program is not being debugged. The number of fixed breakpoints is virtually unlimited - the only limit is the size of the program memory.
Fixed breakpoints cannot be added, changed, moved, or deleted during debugging session. But they can be enabled or disabled.
Hardware breakpoints are supported by debugging hardware inside the PIC. Consequently, the number of hardware breakpoints is strictly limited by the hardware.
Hardware breakpoints are more flexible. They may be triggered not only by the execution of the selected point in the code, but also by read or write memory access at the specified location. They can be added, chaged, moved, deleted or disabled as needed.
Hardware breakpoints can also be used for debugging operations such as stepping in and out of functions. Therefore, if all hardware breakpoints are used up, such operations become unavailable.
Memory watch
NSDSP allows watching unlimited number of variables in data memory while the processor is halted, as well as changing these variables.
NSDSP does not provide any access to program memory while debugging.
Debugging operations
Operation | Description |
---|---|
Run | Start code execution at current location. |
Pause/Halt | Halts the CPU as soon as possible. Periphery may be frozen or keep running depending on the settings. |
Stop | Stops the program execution and keeps the PIC in reset state. |
Step In | Executes one instruction and halts. |
Step Over | If current location is a function call, then sets a breakpoint at the next position and starts execution. The breakpoint will be hit and CPU will halt once the function returns. If current posision is not a function call, acts the same as Step In. |
Step Out | Sets a breakpoint at the return point of current function. The breakpoint will be hit and CPU will halt once the function returns. |
Run To Cursor | Sets a breakpoint at the location if cursor in the source file. The breakpoint will be hit and CPU will halt once this line of the source file gets executed. |
© 2007-2023 Northern Software Inc. All Rights Reserved.