OT: Dynamically loading modules

nobody wrote on Sunday, June 25, 2006:

Hello all FreeRTOS users,

I’m about to start my little project for developing an AVL (Automated Vehicle Location) solution using the LPC2106.

Do you know of a way to dynamically load a module from an SD card? The reason for this is detailed below and it’s all about software maintenance.

After we will develop the hardware and the software, the device will be shipped to customers.
What will happen if I found a bug in my little piece of software I’ve written? Fix the bug and update firmware on each device. Easy, huh? NOT!

For the first testing phase, we’ll equip around 10 vehicles which will be spread all over the country. This means that I have to wait for each vehicle to arrive at a central location to update it’s software. That’s more or less ok for 10 vehicles. What about for 100? Or 500? Updating software might become a nightmare for me!

I need a way to update the microcontroller software via Internet/GPRS (the device will be equipped with a GPRS module).

I’ve seen such code in ecos but it only works (currently) with PowerPC. And my fear is that ecos is just too big for LPC2106. However, I’m pretty amazed of how easy is in ecos to load a module: just compile a .c file which contains your logic and upload the .a obtained to the device. There, that file can be saved on an SD card and loaded from there. EASY!


nobody wrote on Monday, June 26, 2006:

There are some open source sd card drivers around.  Richard has mentioned before having a web server running on a sam7x with sd card interface.

On the lpc look up IAR (in application programming?).  Its not dynamic linking but might do what you want.