dsPIC30 SMPS, dsPIC33, PIC24 Limitations
(Currently, the SMPS devices are: dsPIC30F1010/2020/2023.)
Headers are available but optional for debug when using these devices. See the “Processor Extension Pak and Debug Header Specification” for details.
- General Debug Limitations.
- General Programming Limitations.
- The SLEEP instruction cannot be used when debugging unless the device is set to “Break on SLEEP Instruction” (Debugger > Breakpoints, Event Breakpoints).
- The Watchdog Timer (WDT) cannot be used when debugging unless the device is set to “Break on Watchdog Timer” (Debugger > Breakpoints, Event Breakpoints).
- When debugging in a repeat loop via single stepping, the debugger/emulator cannot show that the repeat loop is active (RA = 1). Therefore, the Watch window will show RA = 0.
- You cannot single step through an interrupt. Due to hardware restrictions, the debugger/emulator cannot jump to the interrupt vector memory location in Single Step mode.
- Incorrect table read when single stepping. If single stepping is attempted on a User mode table read operation, it may lead to unpredictable operation. Therefore, you should not single step through a table read instruction. Instead, you should place a breakpoint after the table read instruction and then execute a Run command, thereby “running” through such instructions, for correct debug operation.
- Incorrect PSV when single stepping. If single stepping is attempted on a User mode instruction that utilizes PSV for the source effective address, it may lead to unpredictable operation. Therefore, you should not single step through PSV-based instruction. Instead, you should place a breakpoint after the PSV-based instruction and then execute a Run command, thereby “running” through such instructions, for correct debug operation.
- The following devices will not program below 3.1 V using the PICkit™ 3 In-Circuit Debugger, MPLAB® REAL ICE In-Circuit Emulator or MPLAB ICD 3 In-Circuit Debugger:
- dsPIC33EP256MU806
- dsPIC33EP256MU810
- dsPIC33EP256MU814
- dsPIC33EP512GP806
- dsPIC33EP512MC806
- dsPIC33EP512MU810
- dsPIC33EP512MU814
- PIC24EP256GU810
- PIC24EP256GU814
- PIC24EP512GP806
- PIC24EP512GU810
- PIC24EP512GU814
For dsPIC33EP64GS50x Devices Only
- For dual partition devices, MPLAB X IDE cannot set breakpoints in the inactive partition.
For PIC24FJ128GA010-ICE Headers Only
- You must remove the MCLR pull-up resistor on your development board to use these headers.
For PIC24FJ256GA110 Devices Only
- RTCVAL in the Watch window causes RTCPTR change. When debugging with RTCVAL in the Watch window, during a halt, RTCVAL will be read by MPLAB X IDE, which will cause the RTCPTR to change. As a workaround, do not add RTCVAL to the Watch window. Use a General Purpose Register for reading purposes.
For PIC24FJ256GB110 Devices Only
- PLLDIS configuration bit always set to on. For these devices, the USB will not work if the PLL is disabled. Therefore, it is always enabled. Use a general purpose (PIC24FJxxxGA) version of this device to enable/disable the PLL function.
Freeze on Halt Limitations
- SPI module and Peripheral Freeze mode. If the SPI module is operating in Framed Master mode and is generating the serial clock on the SCK pin for an external system, the clock will discontinue in Peripheral Freeze mode.