[En-Nut-Discussion] Dynamic linler

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Tue Mar 19 11:28:22 CET 2013


>>>>> "Jiří" == Jiří Šindelář <j.sindelar at etech.cz> writes:

    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.

You don't talk about what arch you have. 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.

Bye

-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------


More information about the En-Nut-Discussion mailing list