So I'll mention I do the clones one of two ways:
1. if I don't care about security, I integrate a clone command directly into each target, and then any board can clone its bits to any other board.
2. if I care about security, I don't put the clone command into the target, but instead, run the "Flasher" RAM target once the target flash is programmed -- this required a BDM (to run the "Flasher" RAM target), but has the advantage that the target can't then be re-cloned.
One other thing...
If you look in upgrade.[ch], you'll see an S19 file parser. If you look in ftdi.[ch] and usb.[ch], you'll see a USB virtual COM port driver, and if you look in clone.[ch] you'll see a qspi master clone driver. It seems like someone could link these together and have a single-purpose USB device made out of any DEMO board that allowed you to connect to it from a PC, download an S19 file, and then pass it on out the qspi master to an EzPort... Maybe after my current (good :smileyhappy: firedrill I'll take a stab at that.