Updating software with file downloaded (ChipworkX)

Hi all,

I have implemented 2 ways to update the system. One is via a file installed on the SD card and the other is by downloading a file from a web server which is then stored on the SD card. In essence, both files will be the same on the SD card, only the method used to add them is different. I have a secondary file that is used to detect a new file to write and this gets deleted after I have detected there is a valid update on the SD card.

I have read through the documentation and looked around here on the web for how to update and each points to the system being in bootloader mode. I have therefore put the following call in my code when I am ready to do the upgrade.


When this gets called, the system reboots and sits in the bootloading state! Not exactly what I was hoping would happen.

What is the process to doing an update from within existing running software?

Thanks Andre,

Looks like I am owing you a number of beers from the help you have been providing. (If you happen to visit Jakarta that is) :slight_smile:

I’ll implement the information and see how I get on. The good part is that my pull down from GPRS works well and once on SD the code you pointed to should just work.


Mmmmm. It refers to Premium suite and I don’t have this. There was no information on where to download this from. I can only find documentation on it. No downloads.

I recall also that the ChipworkX is .net 4.1 only. I assume this is correct and just want to make sure that the sample you linked to will work with 4.1?

Thanks again.

@ Dave McLaughlin - The IFU feature is completely different on 4.2. The new one is simple and lean http://wiki.tinyclr.com/index.php?title=In-Field_Update

Tried that before actually.

It fails when I test for being in BootLoader.

If I try to change to the bootloader mode, the system just restarts and sits waiting for debug commands.


Can I use 4.2 with the ChipworkX module?

@ Dave McLaughlin - nope

It looks great Gus but looks like I need 4.2 to use this and I only have 4.1 available :frowning:


Correct but I know you will be switching to 4.2 “device” in near future :slight_smile: If your existing design can get away without IFU the I recommend you do so for now.

(I am referring to the private email I sent)

Hi Gus, yes, I will switch :slight_smile:

But for now I have 5 initial units to deliver to the customer and they have to have the capability of remote update. These will be installed on fuel barges and as they move around the country, we need a way to send updates via some kind of remote update capability. It is talked about in the documnetation so is there a way to do this with the existing ChipworkX even it means some complex procedure? :slight_smile:

I have another 50+ systems riding on the back of this order.

Then you will need to implement this on 4.1. Skewworks’ Pyxis OS is a good example on how to use IFU.

Thanks Gus, it’s my task for tomorrow!