This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Increase CLA program memory



Hello all,

I am using this 2837xS_FLASH_CLA_cpu1 linker command file for my project.

I can see that Cla1Prog is loaded in RAMLS5 but currently I am getting error #10099-D: program will not fit into available memory.

How can I increase the space that Cla1Prog is uploaded?

Thanks,

Alex 

  • Hi,

    you can allocate Cla1Prog across multiple RAMLSx blocks. so you could do this

    Cla1Prog :>> RAMLS4 | RAMLS5, PAGE = 0

    make sure RAMLS4 is on page 0 in the linker command file and dont forget to configure RAMLS4 as CLA program memory in the MemCfrRegs.
  • Hello Vishal,

    There are these sections in the linker cmd file.

    .cinit : > FLASHB PAGE = 0, ALIGN(4)
    .pinit : > FLASHB, PAGE = 0, ALIGN(4)
    .text : > FLASHB PAGE = 0, ALIGN(4)
    codestart : > BEGIN PAGE = 0, ALIGN(4)
    ramfuncs : LOAD = FLASHD,
    RUN = RAMLS4,
    LOAD_START(_RamfuncsLoadStart),
    LOAD_SIZE(_RamfuncsLoadSize),
    LOAD_END(_RamfuncsLoadEnd),
    RUN_START(_RamfuncsRunStart),
    RUN_SIZE(_RamfuncsRunSize),
    RUN_END(_RamfuncsRunEnd),
    PAGE = 0, ALIGN(4)

    Cla1Prog : LOAD = FLASHD,
    RUN = RAMLS5,
    LOAD_START(_Cla1funcsLoadStart),
    LOAD_END(_Cla1funcsLoadEnd),
    RUN_START(_Cla1funcsRunStart),
    LOAD_SIZE(_Cla1funcsLoadSize),
    PAGE = 0, ALIGN(4)

    It seems to me that cpu program is copied to RAMLS4 during runtime (?). I guess cannot have in the same RAMLS program from CLA and CPU. What is it suggested to do? Moving the cpu program to some other RAM and use RAMLS4 and RAMLS5 (or mayble also RAMLS3 if needed) for claprog?

    Thanks,

    Alex

  • Alexandros Tsoupos said:
    What is it suggested to do? Moving the cpu program to some other RAM and use RAMLS4 and RAMLS5 (or mayble also RAMLS3 if needed) for claprog?

    yes exactly, i would move ramfuncs to another RAMLSx. What i would then do is combine two (or three) blocks in the MEMORY definition. For example

    RAMLS4_5: origin = <start of RAMLS4>, length = <size of R4+R5>

    You can then assign the RUN memory of Cla1Prog to RAMLS4_5. You do have to configure LS4, 5 as CLA program memory at run time