Hi all,
I'm designing a system based around a Sharp 79524 ARM7 part which will be required to be occasionally reprogrammed in the field with around 16MB of data from a PC. I've been looking into various methods to achieve this an I was wondering whether the collective have any thoughts? I am not constrained on power consumption or space and it doesn't have to be lightning fast. However, it must be reliable and pretty simple for non-computer oriented users. Cost is not an over-riding factor but it would be nice to keep it low.
My current options appear to be: Ethernet - the Sharp device has a controller on-board and there are IP stacks available. However, setting up the networking on the host computer may prove tricky for some users. I think there is also the hassle of obtaining MAC addresses and sorting out IP addresses. Reliance on cables brings a worry in placing the connector.
WiFi - Same boat as ethernet but with additional hardware concerns. Wireless aspect does appeal for simplicity of connection.
Serial - Too slow but nice and simple. Perhaps I've missed a revolution and PCs can now handle super high rates but I suspect that 115K is the limit for most.
USB - The Sharp has a client controller built in which helps but I've heard that getting it all working is a nightmare. Commercial stacks seem to be pretty expensive too. Good for plug and play.
Bluetooth - Pretty quick and good for the PC end of the link. I've seen small modules available which look quite promising but I don't know much about their price yet.
Zigbee - Slow but wirelessness does appeal.
Firewire - Don't know much about it but it appears to be a trickier version of USB. Perhaps I've missed something?
Compact Flash/SD card - Simple to program and cheap but requires taking the back off the system to insert the card which means all the mains voltage stuff will have be cordoned off.
JTAG - Perhaps with customized probe? Fairly quick and not too tricky for a user to use (pig of an application to write though!) but does give them rather too much access to the inner workings of the system.
Are there any other methods that anyone might suggest?