Buy(Cart) Contact Devices Programmer NSDS Home

NSDSP On-Chip Debugging (OCD)

NSDSP can only be used for debugging with NSDS and does not support MPLAB or any other third-party debugging software.

Before debugging, NSDS builds a special debugging version of your project and programs it onto your PIC device. This special version allows debugging with NSDSP support.

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 can be debugged with NSDS.


NSDSP supports two different types of breakpoints.

Fixed breakpoints are injected by NSDS before the code is programmed on the chip. Each breakpoint requires space for one extra instruction. 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. They can be disabled. However, even if a fixed breakpoint is disabled, it still halts the CPU for a short period of time.

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.

NSDS uses hardware breakpoints 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. NSDS maintains a copy of the code programmed into program memory and uses this copy. If program memory changes during debugging, these changes are not synchronized with NSDS data.

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.
Northern Software Home Development System Programmer/Debugger Supported Devices Contact Us Purchase/Vew Cart

© 2007-2017 Northern Software Inc. All Rights Reserved.