For Programmers: Free Programming Magazines  


Home > Archive > C > October 2005 > virtual DLL for embedded C









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author virtual DLL for embedded C
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.
simonc

2005-10-31, 11:55 pm

Another way of phrasing the question would be:

Does anyone know how can I generate an ELF file for a single function and anything it calls?
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com