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.

TMS320F28379D: Copy function from FLASH to RAM accross mutliple memory ranges

Part Number: TMS320F28379D

Hello,

To use the CLA, I have the Cla1Prog section that copy code from FLASH to RAM. My CLA programs take more than memory space of one section, so I merged two sections as it is in C2000 example: 

 

Fullscreen
1
RAMLS2_3 : origin = 0x009000, length = 0x001000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
Cla1Prog : LOAD = FLASHFG,
RUN = RAMLS2_3,
LOAD_START(Cla1funcsLoadStart),
LOAD_END(Cla1funcsLoadEnd),
RUN_START(Cla1funcsRunStart),
LOAD_SIZE(Cla1funcsLoadSize),
PAGE = 0, ALIGN(8)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

But I would prefer to keep initial memory division and split code into multiple memory range. I tried the following code but it does not compile: 

Fullscreen
1
2
RAMLS2 : origin = 0x009000, length = 0x000800
RAMLS3 : origin = 0x009800, length = 0x000800
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
Cla1Prog : LOAD = FLASHFG,
RUN = >> RAMLS2 | RAMLS3,
LOAD_START(_Cla1funcsLoadStart),
LOAD_END(_Cla1funcsLoadEnd),
RUN_START(_Cla1funcsRunStart),
LOAD_SIZE(_Cla1funcsLoadSize),
PAGE = 0, ALIGN(8)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Note that even though my code does not compile, the Cla program are correctly mapped and split into two output sections with a length corresponding to my memory ranges.

So I would to know if it is really possible to do what I want to do and how to do so, or if I should keep merged memory range.

Thank you.