Read-write configuration data
Chris Johns
chrisj at rtems.org
Fri Nov 9 20:34:16 UTC 2012
Mick Davis wrote:
>
> Hopefully RTEMS will get an elf loader in the future and this will be
> true more generally.
>
Sorry, I missed this bit of your post.
RTEMS is getting a loader based around the standard dlopen/dlcose family
of calls. The project is here ...
http://git.rtems.org/chrisj/rtl.git/
http://git.rtems.org/chrisj/rtl-host.git/
Some doco in need of updating is ....
http://www.rtems.org/ftp/pub/rtems/people/chrisj/rtl/rtems-rtl.html
The first git repo is the target side code which is an ELF loader and
link editor. It loads relocatable object files locating the code
anywhere in memory. A global symbol table allows access to any listed
global symbols including the base kernel image. Object files can be
separate ELF object files or in a library archive file, ie libc.a. You
can load dependent object files, ie load object files with unresolved
externals that are resolved by each other, and the unresolved symbols
will be automatically resolved. There is a custom memory allocator that
allows fine grain control over all aspects of memory allocation
including read+write and read access control.
The second repo is a host based linker for RTEMS to build applications.
It will take your application object files and resolve the symbols to
determine the object file set you need to load. It will create an
application "package" or a script type file listing the object files to
load.
The project is at the point of implementing an RTEMS application
"package". This is the file format an RTEMS application uses. The
current thinking is an LZ77 compressed library archive (see fastlz.org).
The application loader will itself just be a small application that uses
the dlopen API. You can develop custom loading solutions that work at
the object or library level.
The load is not large how-ever it is not intended for tiny RTEMS
applications.
Chris
More information about the users
mailing list