Buy(Cart) Contact NSDSP Home


ICSP connection

Support summary

  • Programming - NSDSP-1 with NSHVX or NSDSP-2
  • Debugging provisions - No

ICSP Connection

Programming is impossible at voltages below 4.5V.

PIC12F629 can only be programmed with HVP (High Voltage Programming). This means it requires Vpp voltage (higher than Vdd) for programming.

NSDSP-2 generates Vpp internally and can program PIC12F629.

NSDSP-1 cannot generate Vpp. Therefore, to be programmed with NSDSP-1, PIC12F629 requires NSHVX High Voltage Extension or an external HVP circuit.

Microchip HVP programming specificatons for PIC12F629 require that VPP is applied to MCLR before VDD. Since NSDSP does not have any control of VDD, this requirement cannot be satisfied, however, in our tests the HVP programming has succeeded even without VDD manipulation. Therefore, NSDSP software supports HVP programming for PIC12F629.

Be careful. It is possible to brick PIC12F629 if each of these three conditions is met:

  • MCLRE configuration bits are disabled
  • The PIC uses internal oscillator, or an external oscillator which is connected while the programming takes place
  • GP0 or GP1 pin is driven within 20 ms from the reset

OSCCAL calibration word

PIC12F629 requires an OSCCAL calibration word. This word is stored in program memory at the address 0x03ff. NSDSP will read the calibration word before programming and will restore it back after programming. However, if the HEX file contains data for address 0x03ff, NSDSP will not override the data with the calibration word.

PIC12F629 also stores band-gap calibration as a part of configuration word. NSDSP handles band-gap calibration similar to OSCCAL calibration, however band-gap calibration cannot be supplied as a part of the HEX file - the corresponding bits from the HEX file are ignored.

Since the calibration information must be erased and written back, any adverse event during programming operation (such as power outage) may cause the loss of calibration information.

If the PIC device does not contain the correct calibration word, NSDSP will refuse to program. In such case, you can restore the calibration word using nsprog, for example:

nsprog e -d PIC12F629 -c 34xx:b

where "34xx" should be replaced with the desired calibration word in hexadecimal format, and "b" shoud be replaced with band-gap calibration as a number from 0 to 3.

When reading from PIC12F629, NSDSP does not read the OSCCAL calibration information, however the calibration information can be retrieved with nsread, for example:

nsread 03ff 0400 -d PIC12F629

Unlike OSCCAL calibration, the band-gap calibration is a part of the configuraton word and is read from the device along with the rest of the calibration word.

Programming Benchmarks

We have measured time necessary to program and verify PIC12F629.

Operation Time
Programming and Verification 3.1s
Programming only 3.0s
Verification only 0.2s

The measurements reflect the time necessary to program/verify the entire chip, including all user programmable memory areas and very slow data EEPROM.


NSDSP cannot be used to debug PIC12F629.


Microchip PIC12F629 page

Northern Software Home NSDSP Contact Us Purchase/Vew Cart

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