[En-Nut-Discussion] Dynamic linler

Jiří Šindelář j.sindelar at etech.cz
Tue Mar 19 13:14:38 CET 2013


Uwe,
>      Jiří> Hi all, Is there a linux-like /dynamic linker/ available for
>      Jiří> Nut/OS or other technique, which can I use to solve following
>      Jiří> problem?
>
>      Jiří> Our device needs to be able to communicate with more than 50
>      Jiří> different 3rd party devices, but always one device type at a
>      Jiří> time. In other words, the device chooses one device type during
>      Jiří> startup and other device types are not used.
>
>      Jiří> For every device there is cca 20kB of driver code, so we need 50 *
>      Jiří> 20kB = 1MB for those device drivers.
>
>      Jiří> I want to relocate the 1MB of driver code to SD card during
>      Jiří> production process, then load the required driver only into RAM
>      Jiří> during startup and run the driver code in RAM.
>
>      Jiří> Can you give me some advice?
>
> Well, 2 MiByte Flash parts are or soon will be available. So that's one
> option.
I'm using our own board - see www.solarmonitor.cz
> You don't talk about what arch you have.
We ported Nut/OS to m68k arch.
> If it is anything other then AVR,
> another option might be to compile for each driver a binary with the driver
> eunning from ram and the library. Cut out from the resulting binary what is
> loaded to RAM and store in external PROM. Do that for all the drivers,
> building up a structure in PROM. On startup you load the appropriated driver
> from external PROM to ram.
This is the same solution as it hit me. It looks I'm going the right 
direction :)

Thank you,
Jiri.







More information about the En-Nut-Discussion mailing list