Sharc+ and DLMs(.ldr). Loading multiple instances and "run address" in run-time


Looking at  DLM(.ldr) documentation it seems the memory space where the DLM will be allocated has to be specified in advance in the .ldf when compiling the DLM (is this applicable to both PM and DM?)
Does it mean it is not possible to load several instances of the same library/module if needed?
Also it would mean it is needed a different DLM for each Sharc+ application if reserved memory spaces are different?

is there any "clean way" to choose the "run address" of ldr stream to be loaded in run-time?

Any advice regarding DLMs (.ldr) is welcome!

Best regards

  • Is not there any working example of DLM ldr with Sharc+ processors?
    The ldf doc is blackfin related and I am not sure how it translates to Sharc+. 
    Also the blackfin example generates a ldr output with "memory" option selected and the doc mentions to use elf utiliy with SPI bootstream?

  • 0
    •  Analog Employees 
    on Jan 21, 2021 6:28 AM 1 month ago in reply to BlackBeauty

    Support for Dynamically-Loadable Modules is now provided using the libldr library.

    •elf2dyn – ELF to Dynamically-Loadable Module Converter
    •dyndump – Display the Contents of Dynamically-Loadable Modules
    •dynreloc – Relocate Dynamically-Loadable Modules
    If you are using DLMs for SHARC+ processors, please refer to the section “DLMs by libldr” in the System Run-Time Documentation in the CCES Help.

    Please refer in CCES help for "DLMs by libldr":
    CrossCore® Embedded Studio 2.9.x > System Run-Time Documentation > Dynamically-Loadable Modules (DLMs) > DLMs by libldr

    Please refer the chapter "elfloader" and "elf2dyn - ELF to Dynamically-Loadable Module Converter" in the Loader and Utilities Manual

    Also refer in CCES help for more details:
    CrossCore® Embedded Studio 2.9.x> System Run-Time Documentation > Dynamically-Loadable Modules (DLMs)