| simonc 2005-10-31, 11:27 pm |
| Firstly I'm hoping I'm posting to the correct group.
What I am trying to build is effectively a way of implementing DLL's for an embedded system. I want this to allow me to replace individual blocks of code and knowing that it won't have touched other components in the system. My code base is very modular and all the systems are very independent. Ideally this would also allow me to do in-system updates of code modules.
Here are a couple of key pieces of information:
1) GCC is the underlying compiler
2) There is no file system but that is ok as I have NAND flash on board that I'm currently loading my code base from.
3) I already have a boot loader running but I can modify it easily enough.
I understand that there are many RTOS's on the market and quite a number of these seem to provide this type of funcitonality but would rather not add this complexity to the system.
My current thoughts would be to create a swag of different projects, each with there own linker files and force the compiler to put my know functions at a specific locations in the memory map. I could then use function pointers to access the modules after I have validated that the individual code modules have been loaded correctly. The problem with this is it is going to be a lot of stuffing about with linker scripts and projects.
Does a simpler way spring to anyone's mind. |