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.
© 2025 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.