Nigel Goodwin said:
The supported devices list is at , the asterisked ones are in the latest beta, they all work - but 18F support is somewhat flakey so far (problems with config fuses). But all switch to programming mode fine.
Happy to see you're supporting more devices but, gosh, that's still a puny list. Where are the 18F' devices from the DS39622F spec' (34 devices including the '2320, '2420, '2520, '2620, '4520, '4620, etc.)?
You can program all 18F' devices with a very narrow set of algorithms compared to the 12F/16F parts. The 34 devices in the DS39622F spec' simply require a new "bulk erase/chip erase" algorithm. Other than that, they use the same read/write/verify algorithms based on an N-byte (up to 64 byte) device dependent "write buffer size" buffer. You need three different "bulk erase/chip erase" algorithms (two if you don't need to support the ******* XX39 devices). A single algorithm for writing data eeprom works for all three variations listed across all the programming specifications. And a single variable N-byte "write" algorithm works for all 18F' devices.
I'd be happy to share/compare notes if you're interested in expanding 18F' support.
Looks nice, do you have it released on a website?.
I have not released the design. I built it to help the folks at melabs find a problem on their serial programmer. The VDD and VPP drivers are virtually identical to theirs and I was able to help them by finding an error in the DS39622 document that prevented '2620 and other devices from erasing properly.
I don't see any reason for your problem with Vdd first?, unless you're sending seperate RS232 messages to do the switching?, that would probably be too slow for devices with internal oscillators?.
I'm controlling the VDD and VPP switching in firmware on the programmer with 200-nsec resolution. Much finer control than I suspect you have by setting or clearing bits on the parallel port from a PC app'.
Perhaps you're "lucky" or you just don't have experience with devices that truly require the "VPP first" method. Or, perhaps there's a problem with my hardware/firmware/software. Time will tell and I'll certainly come back here with apologies when/if I find a problem (grin). Meanwhile, I'm going to assume there's a reason for the spec', since that's the only way if works on some devices for me.
Take care. Have fun. Kind regards, Mike