EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Upload Options

Started by Tom Lucas February 16, 2006
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? 


Tom Lucas wrote:

> 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
[...]
> 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.
This method gets my vote. - No special equipment required - Best for nontechnical users because it simply involves putting in a card and powering up - Your system can do an integrity check on the entire file before starting the flash operation without needing to have it all in RAM - The previous firmware rev can be written back out to the flash device for rollback purposes if necessary
Tom Lucas <tNOSPAMlucas@autonospamflamedotcom.nodot> wrote:
> 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. >
In a lot of cases, making the ARM a DHCP server and just plugging in a crossed-over Ethernet cable into the PC will work, then ftp/tftp the data over to the ARM... ;) pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
"larwe" <zwsdotcom@gmail.com> wrote in message 
news:1140104292.169862.71440@o13g2000cwo.googlegroups.com...
> > Tom Lucas wrote: > >> 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 > > [...] > >> 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. > > This method gets my vote. > > - No special equipment required
Well they will need a card reader but they are only pennies these days.
> - Best for nontechnical users because it simply involves putting in a > card and powering up
That does appeal but will require the user to access the rear of the system (which is panel mounted) but this isn't a huge problem and USB or ethernet connection would require this also.
> - Your system can do an integrity check on the entire file before > starting the flash operation without needing to have it all in RAM
This highlights one of the draw backs of this method because it will require a file system. However, I don't think that it's too much of a headache to implement or I could just buy one.
> - The previous firmware rev can be written back out to the flash device > for rollback purposes if necessary >
This is possible with all the methods but compact flash certainly is the most convenient for that. At the moment I am also drawn to Bluetooth because it seems fairly simple and has the wireless convenience. However, ethernet also appeals because if it had a permanent connection then remote monitoring and other sexiness suddenly becomes possible. It still presents IT headaches though. Thanks for your quick reply
"Pete Fenelon" <pete@fenelon.com> wrote in message 
news:pq72td.h8c.ln@fenelon.com...
> Tom Lucas <tNOSPAMlucas@autonospamflamedotcom.nodot> wrote: >> 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. >> > > In a lot of cases, making the ARM a DHCP server and just plugging in a > crossed-over Ethernet cable into the PC will work, then ftp/tftp the > data over to the ARM... ;) > >
Will I still have to pay for a MAC address or can I "borrow" one from somewhere else seeing as it's not going to be on a worldwide network (but what happens if it is?)
Tom Lucas wrote:
> > - No special equipment required > > Well they will need a card reader but they are only pennies these days.
I said no "special" equipment :)
> > - Your system can do an integrity check on the entire file before > > starting the flash operation without needing to have it all in RAM > > This highlights one of the draw backs of this method because it will require > a file system. However, I don't think that it's too much of a headache to > implement or I could just buy one.
Or you can just use mine for free - http://www.zws.com/products/dosfs/ (please note there is an update coming soon to fix a couple of bugs that have been reported by people in the field).
> most convenient for that. At the moment I am also drawn to Bluetooth because > it seems fairly simple and has the wireless convenience. However, ethernet
It's a nightmare to implement if you're doing it yourself, and relatively expensive to buy modules that do it for you. An SD interface at its simplest is three GPIO pins (clock, data in, data out) plus maybe one more for card detect.
<snip>
> >> > - Your system can do an integrity check on the entire file before >> > starting the flash operation without needing to have it all in RAM >> >> This highlights one of the draw backs of this method because it will >> require >> a file system. However, I don't think that it's too much of a headache to >> implement or I could just buy one. > > Or you can just use mine for free - http://www.zws.com/products/dosfs/ > (please note there is an update coming soon to fix a couple of bugs > that have been reported by people in the field).
That's ideal, many thanks for that. Your site is pretty interesting, by the way, particularly the vintage computing section. As I read through your list with a nostalgic tear in my eye it occurred to me that I think my dad still has a Sinclair QL in his attic in the original packaging. I'll have to check if it's still up there if that's something that might interest you. I think I've got some ZX81 software in original packaging (probably unused) that I could look out and I probably have a ZX81 but I think I might keep hold of that for my own nostalgia :)
>> most convenient for that. At the moment I am also drawn to Bluetooth >> because >> it seems fairly simple and has the wireless convenience. However, >> ethernet > > It's a nightmare to implement if you're doing it yourself, and > relatively expensive to buy modules that do it for you. >
It all depends on how expensive it turns out to be. I don't mind $30 or so per unit to buy the convenience of the wireless link but any more is going to be too much.
Tom Lucas wrote:
> "Pete Fenelon" <pete@fenelon.com> wrote in message > news:pq72td.h8c.ln@fenelon.com... >> Tom Lucas <tNOSPAMlucas@autonospamflamedotcom.nodot> wrote: >>> 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. >>> >> In a lot of cases, making the ARM a DHCP server and just plugging in a >> crossed-over Ethernet cable into the PC will work, then ftp/tftp the >> data over to the ARM... ;) >> >> > > Will I still have to pay for a MAC address or can I "borrow" one from > somewhere else seeing as it's not going to be on a worldwide network (but > what happens if it is?) > >
192.168.0.x are basically pre-allocated for local use: they won't go through a remote router. Something in that range should work.
"David R Brooks" <davebXXX@iinet.net.au> wrote in message 
news:43f59c1e$0$17076$5a62ac22@per-qv1-newsreader-01.iinet.net.au...
> Tom Lucas wrote: >> "Pete Fenelon" <pete@fenelon.com> wrote in message >> news:pq72td.h8c.ln@fenelon.com... >>> Tom Lucas <tNOSPAMlucas@autonospamflamedotcom.nodot> wrote: >>>> 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. >>>> >>> In a lot of cases, making the ARM a DHCP server and just plugging in a >>> crossed-over Ethernet cable into the PC will work, then ftp/tftp the >>> data over to the ARM... ;) >>> >>> >> >> Will I still have to pay for a MAC address or can I "borrow" one from >> somewhere else seeing as it's not going to be on a worldwide network (but >> what happens if it is?) > 192.168.0.x are basically pre-allocated for local use: they won't go > through a remote router. Something in that range should work.
Superb. I guess there may be trouble if the customer's local network isn't set up all that well but we can't cater for every eventuality.
"Tom Lucas" <tNOSPAMlucas@autoNOSPAMflameDOTcom.NODOT> wrote in message 
news:43f49aea$0$6976$ed2619ec@ptn-nntp-reader02.plus.net...
> 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:
<snip> I've just spotted that IrDA will work up to 4MBps. The existing system already has 19.2Kbs IrDA which has worked well. Does anyone have experience of using such data rates and how reliable it is?

The 2024 Embedded Online Conference