Begin3 Title: jppp18 Version: 0.5 Entered-date: 2010-03-01 Description: jppp18 is programmer software to program Microchip PICs of type 18F14K22 via the PC parallel port. It uses a modified version of the 'noppp' programmer hardware. A circuit diagram is included in this distribution. To unpack: tar -zxvf jppp18-0.5.tgz cd jppp18-0.5 Then follow the instructions in INSTALL. 0.1: first release. 0.2: Fixed EEPROM read in menu 'm', was from wrong buffer. Fixed EEPROM write and verify for EEPROM buffer at 0. Tested ID write / read. Added chip ID printing option 'z' in menu. 0.3: Added devid_base and devid_size as global vars, and in pic_select, to make adding other PIC types easier. Modified hex_dump() so it can dump with or without ASCII. Removed not needed includes from jppp18.h Renamed chip ID device ID. Added 'f' option in menu for Intel hex out for the whole chip. Moved some local vars to jppp18.h, added callocs for that space in pic_select(). Added 'free() calls in pic_select(). Added defined out example entry for other PICs in pic_select(). Added polling for EEPROM write location ready, and a define in jppp18.h to disable it if it does not work. 0.4: Removed delay in EERPOM write now always polling of WR bit (bit 1) of EECON1 in EEPROM write. Allowed -Y (leave Vdd on) in -f on command line. Added ask for overwrite if output hex file already exists. Added ask for overwrite in menu 'b' option write binary of program space. Append .hex in -i and menu 'i' option if file does not end in .hex. 0.5: Zerod config_used, eeprom_used, id_used, program_used before loading hexfile in load_hex_file() in hex_in.c. This to prevent incorrect sizes if a small hex file is loaded after a big one for the same PIC via the menu. Changed hex_filename to hex_in_filename, and made it a global. Menu option -t now clears hex_in_filename and any related storage and vars if it was specified, this forces the user to load a new hexfile when PIC type is changed. Added check for run as root so no segfaults due to I/O permissions. Added check for return value of iopl(3). Added explanation for possible false verify error report: DEBUG bit, bit 7 of 0x300006, this error can probably be ignored on PIC 18F14K22, undocumented Microchip bit, run program and see if that verifies OK. Can only work around this with correct Microchip documentation for the 18F14K22. In my view the DEBUG bit should go into the .INC file, and become an assembler flag for gpasm, it should *not* be a fix in the programer software. Keywords: PIC, 18F14K22, noppp programmer, parallel port. Author: Jan Panteltje panteltje@yahoo.com Maintained-by: Jan Panteltje panteltje@yahoo.com Primary-site: ftp://sunsite.unc.edu/pub/linux/apps/misc/ Alternate-site: http://panteltje.com/panteltje/pic/jppp18/index.html (home page) Platforms: LINUX, UNIX Copying-policy: GPL2 ONLY End