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.

RTOS/AM5728: Specifying memory ranges in linker command file

Part Number: AM5728
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Dear TI,

I am using sys/bios 6.53.02.

As one option I was using the sys/bios/system/program/generation options to select the linker command file model to use...

I point to a valid linker command file ( I technically copied the one it was previously making automatically, renamed it, and used that as a base)

SInce it is completely valid the idea was I should be able to compile now and it should substitute this file in for the generated linker command file.

It does, however it gives errors:

"configPkg/linker.cmd", line 26: error #10263: L2SRAM memory range has already been specified

"configPkg/linker.cmd", line 26: error #10264: L2SRAM memory range overlaps existing memory range L2SRAM

"configPkg/linker.cmd", line 27: error #10263: OCMC_RAM1 memory range has already been specified

"configPkg/linker.cmd", line 27: error #10264: OCMC_RAM1 memory range overlaps existing memory range OCMC_RAM1

"configPkg/linker.cmd", line 28: error #10263: OCMC_RAM2 memory range has already been specified

"configPkg/linker.cmd", line 28: error #10264: OCMC_RAM2 memory range overlaps existing memory range OCMC_RAM2

"configPkg/linker.cmd", line 29: error #10263: OCMC_RAM3 memory range has already been specified

"configPkg/linker.cmd", line 29: error #10264: OCMC_RAM3 memory range overlaps existing memory range OCMC_RAM3

"configPkg/linker.cmd", line 30: error #10263: EXT_RAM memory range has already been specified

"configPkg/linker.cmd", line 30: error #10264: EXT_RAM memory range overlaps existing memory range EXT_RAM

in addition it complinas about some of the symbols defined

ti_sysbios_family_c66_Cache_l1dSize = 32768;

ti_sysbios_family_c66_Cache_l1pSize = 32768;

ti_sysbios_family_c66_Cache_l2Size = 0;

 

so the question is:

 

why is the for example the LSSRAM defined already... if I comment out the MEMORY declaration in the useme.cmd (the renamed original cmd file that it generated that worked) it then complains that I haven't defined it....  but if Ileave it in it complains that it's already defined?

 

Where else would it be defined?  and why would it compaline it's not defined then if I remove my declaration of it?

 

SUMMARY:

The end goal is to customize the linker command file.  I wish to locate sections such as .text etc. in L2SRAM instead of the default external ram that SYS/BIOS is putting it.

 

Since SYS/BIOS is generating the linker command file I need to work withing the SYS/BIOS framework to have it generated the way I desire.

 

The simplest path seemed to just replace the base linker command file it uses and manually make one that satisfies our needs... however starting down that pat I thought to start with the one it was autogenerating, and first make the replacement which is failing... so I have made no alterations at this time.

 

Thanks.