dynamic linker in RTEMS 5 ?

Chris Johns chrisj at rtems.org
Tue Dec 19 21:47:08 UTC 2017


On 19/12/2017 23:44, Goetz Pfeiffer wrote:
> at the Helmholtz-Zentrum Berlin we control an electron storage ring facility
> with the EPICS controlsystem framework.
> 
> We have about 20 mvme2100 VME CPU boards which run RTEMS 4.9 with
> cexp and GeSys.

This sounds like a nice system.

> We would like to use RTEMS 5 but cexp is not compatible with this version.
> 
> We are looking for the following features in RTEMS 5:
> 
>   * dynamic loading of object files
>   * dynamic linking of objects
>   * calling functions on the command line (optional)
> 
> With cexp and RTEMS 4.9, dynamic loading works like this in the startup script:
> 
>   cexpModuleLoad("Com.obj")
>   cexpModuleLoad("ca.obj")
>   cexpModuleLoad("dbStaticIoc.obj")
>   cexpModuleLoad("registryIoc.obj")
>   cexpModuleLoad("dbIoc.obj")
>    ...

The cexp C parser and caller is not present. I also suspect other alternatives
such as another language like lua would not help because your existing scripts
would need to change as well as the related documentation.

> Is it possible to implement a dynamic linker in RTEMS 5 ? It seems that
> dynamic loading with dl_open(), dl_sym() and dl_close() is already
> implemented.

Dynamic loading is present. I am not across all the features cexp provides so I
cannot be 100% certain there is a complete match. For example the dlopen API
currently does not search archives to automatically pull in dependences. I
avoided this when I first implemented libdl and I now think this feature should
be added.

> In another mail it was suggested to adapt cexp for RTEMS 5 but it seems
> that this product is too hard to maintain and too hardware dependent.

This is understandable.

> We think that it would make RTEMS even more attractive, if it would
> incorporate a dynamic loader.

Do you mean bringing cexp into RTEMS and making it use the libdl loader?

Any work to help ease EPICS integration and maintenance is a good thing.

> It would be a great alternative to vxWorks.

I suspect there are other users with this issue. It would be good to have an
easy upgrade path to RTEMS 5.

Chris



More information about the users mailing list