PIC12F629/675 Limitations
Headers are required for debug when using the listed devices. See the “Processor Extension Pak and Debug Header Specification” for details. Header limitations are as follows:
- General Debug Limitations
- General Programming Limitations
- General Device-ME2/ICE/ICD Limitations
- 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.
- Cannot erase ID memory at Vdd < 4.5 V. At Vdd < 4.5 V, the part cannot be bulk erased, so it has to be row erased. Row erase can be used on program memory, but not on configuration memory (where user ID resides).
- Program memory standard Flash. Program memory, not enhanced Flash. You cannot program in Low Voltage mode (Vdd < 4.5 V). See device programming specification for more information.
- RBIF is cleared when PORT is interrogated by software, except when Freeze on Halt is enabled.
- This header cannot be programmed while the GP1/RA1 pin is high (VIH) due to an –ICD debug silicon issue. There are two workarounds:
(1) Move the circuitry that makes GP1/RA1 high to another I/O pin during programming.
(2) Manually make GP1/RA1 low during programming (for debuggers/emulators that can supply power to the target):- Disconnect the header from the target circuit.
- Select File > Project Properties, click the debugger, and select Power from the Option categories menu. Check the Power target circuit from… box if it is not already checked.
- Connect GP1 to Vss on the header.
- Select Debug > Discrete Debugger Operation > Build for Debugging.
- Select Debug > Discrete Debugger Operation > Program Device for Debugging.
- Disconnect GP1 from Vss on the header.
- If you were NOT using a debug tool to power your target board, select File > Project Properties, click the debugger, and select Power from the Option categories menu. Uncheck the Power target circuit from… box if it is checked.
- Insert the header into the target board.
- Code is now programmed into the device and ready to be debugged. Select Debug > Discrete Debugger Operation > Launch Debugger.
- Repeat the process to reprogram the device.
Freeze on Halt Limitations
- Timer0 will not freeze using the internal clock.
- CMOUTx pins do not freeze, status bits and interrupt flags do freeze.
- RBIF is cleared when PORT is interrogated by software, except when Freeze on Halt is enabled.
For PIC12F675-ICD (AC162050) Only
- GP1 should be pulled low for this header; otherwise, you might not be able to program and debug using the header.