Onboard programming

Note: Unlike other schematics on this site, this has NOT been tested!
Consider it as a design starting point only.


The following hardware has been tested and works on Linux:


1) This fully works with the great Piklab software (Ubuntu8.04/Synaptic) if you replace the
1k5 resistor with a 2k2 resitor and use a desktop (Acer) serial port. With Piklab, you can
develop your asm code, assemble it and then move the hex code to the 16F876 PIC, and
finally verify that the burning of the hex code to the PIC was succesful.
After programming, however, a message says that veryfying was not successful but if
you run verify alone after this, it will be succesful. Please remove the tick from:
Settings > Configure Piklab > Programmer options: Verify device memory
after programming.
 
2) Another burning software (for Windows) has also been tested under Wine in Ubuntu 8.04:
http://www.ic-prog.com/
Set Wine configuration to WindowsXP for icprog.exe
These changes in the default settings are required to make it work:
- Change controller type to 16F876
- Settings > Hardware > Windows API
Settings > Hardware > I/O Dealy = 1  (important!)
Settings > Options > Programming > Verify during programming

(The other programming software 'piklab' did not work properly until these modifications
in the schematic were made: two 1N4148s in parallel, 1k5 => 2k2 resistor change)

The Way to Success (tested!)
How to do PIC programming in Ubuntu using the hardware above and a desktop serial port:

In Biref


install gputils (Synaptic)
install piklab (Synaptic)

Piklab settings:
- Settings > Configue Piklab > Standalone file:
    Device 16F876
    Toolchain GPUtils
    Configuration Custom
    Arguments %I
- Remove tick from:
Settings > Configure Piklab > Programmer options: Verify device memory
after programming. (Programmer selection: JDM classic)


ref:
http://gputils.sourceforge.net/#Mplab (User Manual etc.)
___________________________________________________________________