PIC16F505PIC16F506 PIC16F526 PIC16F527 PIC16F570 PIC16F610 PIC16F616 PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F631 PIC16F636 PIC16F639 PIC16F648A PIC16F677 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F707 PIC16F716 PIC16F720 PIC16F721 PIC16F722 PIC16F722A PIC16F723 PIC16F723A PIC16F724 PIC16F726 PIC16F727 PIC16F753 PIC16F785 PIC16F818 PIC16F819 PIC16F84A PIC16F87 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16F88 PIC16F882 PIC16F883 PIC16F884 PIC16F886 PIC16F887 PIC16F913 PIC16F914 PIC16F916 PIC16F917 PIC16F946
Programming is impossible at voltages below 4.5V.
PIC16F505 can only be programmed with HVP (High Voltage Programming). This means it requires Vpp voltage (higher than Vdd) for programming. NSDSP cannot generate such voltages. Therefore, PIC16F505 requires NSHVX High Voltage Extension or an external HVP circuit.
No device id
PIC16F505 does not have a device id. Therefore NSDSP cannot determine if it is connected to PIC16F505 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 PIC16F505.
With other devices, NSDSP uses device id to determine the optimal connection speed. Since the device id is missing on PIC16F505, NSDSP will always program at the maximum allowed speed.
OSCCAL calibration word
PIC16F505 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.
PIC16F505 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 PIC16F505 -c cxx
where "cxx" should be replaced with the desired calibration word in hexadecimal format.
When reading from PIC16F505, NSDSP does not read the calibration information, however the calibration information can be retrieved with nsread, for example:
nsread 03ff 0400 -d PIC16F505
We have measured time necessary to program and verify PIC16F505.
|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 PIC16F505.
© 2007-2019 Northern Software Inc. All Rights Reserved.