This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Plug in application modules

Hi All,

CPU: STM32F10x cortex-m3.
Keil compiler.

I wonder if anyone can point me in the right direction?

What I need to do is build a system that is made up of a core with modules that will be plugged in at a later point in time. I.E. the core will be compiled and run able, the product will then be configured for it specific variation by placing modules in memory for it to use. The modules will not be dynamic loaded, apart from at initial boot up where these modules will be resolved and hooked in.

The core will consist of the RL-RTX os, some basic house keeping tasks and base functionality that is able to hook into the added modules.

I guess in GNU/linux Id be using insmod or in windows a DLL, SMX by micro devices has dynamic load module facility which I think is a bit more than I need.

Any ideas how to do this?

Regards,
DaveE

Parents
  • Thanks for the comments.

    How about if I produce a core obj file then link it with the swappable modules obj files, so long as the api of functions remain the same this I think achieves the same as I originaly intended without the associated memory problems?
    Then use control file for the linker to pick up the correct module versions.
    However it still requires a fully licensed linker to build the final image.

    I guess this is much the same as using a library but I pick the libraries late and I may use many of them.

    Have I missed anything/got the wrong idea?

Reply
  • Thanks for the comments.

    How about if I produce a core obj file then link it with the swappable modules obj files, so long as the api of functions remain the same this I think achieves the same as I originaly intended without the associated memory problems?
    Then use control file for the linker to pick up the correct module versions.
    However it still requires a fully licensed linker to build the final image.

    I guess this is much the same as using a library but I pick the libraries late and I may use many of them.

    Have I missed anything/got the wrong idea?

Children
  • Why not just auto-build 10 different customer editions whenever you make a release build. The build time should be short, and is made by you.

    Then combine an application download file with one of multiple language files when programming the unit in factory.

    It shouldn't matter so much if the language file contains the strings for the biggest deluxe edition of the application.

    Just remember that you are not limited to building from the IDE. You can set up a script to build any number of combinations automatically and a normal PC can produce a lot of binaries in an hour :)