The reason why is that to run USB you need quite a bit of code. The reflashing code sits in a write-protected 8k page at the start of the flash - and the full, written-in-c usb code won't fit in there. The StrongARM has USB, but it doesn't work, so we don't use it - we use an external USB slave chip.

At some point I'll recode it in assembler and get it all in the bootblock - hopefully before the 1.0 release. It's not a priority at the moment though.

Hugo