Splitting the Binary for independent updates

mstroven wrote on Friday, June 22, 2007:

Has anyone built an application using FreeRTOS which allows for a subset of the tasks (presumably located in a separate segment of the flash) to be updated independently of the kernel and the core tasks?

The point being that we want the kernel and some support tasks to run no matter what, and then, under the right conditions, execute some application tasks in the application portion of the ROM.  That’s not a big problem obviously…  The sticky point comes when we wish to upgrade the code in the application portion of the ROM, without replacing the kernel and support task portion of the ROM.

Your thoughts?

Thanks!

-Mike Stroven

jorick23 wrote on Friday, June 22, 2007:

Since the code in the application portion can change its size, and therefore the starting addresses of the functions, you’ll have to use a jump table at the start of the application portion.  Each item in the jump table will reside at a constant address so that the kernel won’t have to change the addresses of its calls, but the item call address will change to the new function location.