Buy(Cart) Contact NSDSP Home


Support summary

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


ICSP Connection

Programming is impossible at voltages below 4.5V.

PIC12F509 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 PIC12F509.

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


No device id

PIC12F509 does not have a device id. Therefore NSDSP cannot determine if it is connected to PIC12F509 or to a different device. Moreover, it is impossible to determine if NSDSP is connected to any device at all. Therefore, NSDSP will proceed with programming assuming that it is connected to PIC12F509.

With other devices, NSDSP uses device id to determine the optimal connection speed. Since the device id is missing on PIC12F509, NSDSP will always program at the maximum allowed speed.


OSCCAL calibration word

PIC12F509 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.

PIC12F509 also stores a backup copy of factory calibration word. NSDSP may use this backup copy to replace calibration word if necessary. The backup copy will persist through bulk erase. However, when user id information is erased, the backup calibration word will be erased too and NSDSP will have to restore it after programming.

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 PIC12F509 -c cxx

where "cxx" should be replaced with the desired calibration word in hexadecimal format.

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

nsread 03ff 0400 -d PIC12F509


Programming Benchmarks

We have measured time necessary to program and verify PIC12F509.

Operation Time
Programming and Verification 1.4s
Programming only 1.4s
Verification only 0.1s

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



NSDSP cannot be used to debug PIC12F509.



Microchip PIC12F509 page

Northern Software Home NSDSP Contact Us Purchase/Vew Cart

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