Forums

Remote Flash updates of a SAM9260 board

Started by Unknown April 9, 2007
I have a custom SAM9260 board, several of these will be installed in
customer locations. Once installed they will not be physically
accessible.
I currently have a 2.6.20 kernel and a ext2 gzipped rootfs running
from dataflash.
I need suggestions on how to remotely upgrade the software in the
future for this device from the network.

I guess I can have a NFS or tftp server on a customer network while
doing the upgrades but I'm not sure how to do this so that the device
can automatically pull updates/update its flash and reboot.

I was thinking perhaps some uboot logic which will look for the
presence of a NFS or tftp file, if it can make the connection and can
download the file it will update the flash. if it can't it will just
continue as normal.
But I have no idea how to do this.

Anyone any ideas?

On Apr 9, 7:20 am, shinystart...@gmail.com wrote:
> I have a custom SAM9260 board, several of these will be installed in > customer locations. Once installed they will not be physically > accessible. > I currently have a 2.6.20 kernel and a ext2 gzipped rootfs running > from dataflash.
If downloading fails, it will be completely inaccessable.
> I need suggestions on how to remotely upgrade the software in the > future for this device from the network.
Does your target support Jtag? If not, why not?
> > I guess I can have a NFS or tftp server on a customer network while > doing the upgrades but I'm not sure how to do this so that the device > can automatically pull updates/update its flash and reboot.
You can have a network enabled Jtag box at the site. One box can jtag several targets if necessary, if you have multiple usb devices.
> > I was thinking perhaps some uboot logic which will look for the > presence of a NFS or tftp file, if it can make the connection and can > download the file it will update the flash. if it can't it will just > continue as normal. > But I have no idea how to do this. > > Anyone any ideas?
We have window clients (WinOCD) remotely downloading Linux targets (OCD) for ARM M3 cortex. I think OCD should work with SAM9260. See http://linnix.com/ocd
On Apr 9, 4:20 pm, shinystart...@gmail.com wrote:

> I have a custom SAM9260 board, several of these will be installed in > customer locations. Once installed they will not be physically > accessible. > I currently have a 2.6.20 kernel and a ext2 gzipped rootfs running > from dataflash. > I need suggestions on how to remotely upgrade the software in the > future for this device from the network. > > I guess I can have a NFS or tftp server on a customer network while > doing the upgrades but I'm not sure how to do this so that the device > can automatically pull updates/update its flash and reboot. > > I was thinking perhaps some uboot logic which will look for the > presence of a NFS or tftp file, if it can make the connection and can > download the file it will update the flash. if it can't it will just > continue as normal. > But I have no idea how to do this. > > Anyone any ideas?
For network updates, TFTP is a lot simpler than NFS. Also, putting a TFTP _server_ in your product will probably be easier to use than a TFTP client. If you put a TFTP client in your product, you'll need to put a TFTP server on the network (which could be against customer's policies), and in addition, you'll need to tell the client what the server address is, and when to get the file, which adds extra configuration hassle. If you put a TFTP server in your device, and you know the device's IP address, it is fairly easy to upload a file with a TFTP client (possibly embedded inside a user-friendly 'upgrade' tool). For linux, you could grab an existing TFTP server, and add some code to write to flash, possible using some external tools. For extra safety, you could put the TFTP server functionality inside the bootloader. If the bootloader doesn't find a valid Linux kernel image in the flash, it can jump to the TFTP server code, and wait for a new update.