Buy(Cart) Contact NSDSP Home

NSDSP On-Chip Debugging (OCD)

Currently, the debugging functions are exposed only through NSDSP Interface library. There's no user level 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.


NSDSP supports two different types of breakpoints.

Software 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 software breakpoints is limited by the word size of the target PIC, that is 8 for PIC16 and PIC18, 16 for PIC24 and dsPIC33, and 32 for PIC32.

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.

Some of the target PICs allow watching memory while running.

Northern Software Home NSDSP Contact Us Purchase/Vew Cart

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