Project

General

Profile

Linker memory layout.

Added by Edwin McKay over 4 years ago

I am using CCS 6 on windows. We have a medium sized old C++ project that we are porting over to the DSP portion of the MityDSP-L138. We finally got everything to compile and have now run into linker memory issues. I have corrected all the undefined references that appeared at the linker stage.

I started with the "Hello World" DSP project and just added all my files to the project.

It looks like the OMAPL138.cmd file just places everything into SHRAM (SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */)

Now I have a bunch of these type of errors:
../src/OMAPL138.cmd", line 24: error #10263: DSPL2ROM memory range has already been specified
"../src/OMAPL138.cmd", line 24: error #10264: DSPL2ROM memory range overlaps existing memory range DSPL2ROM
"../src/OMAPL138.cmd", line 25: error #10263: DSPL2RAM memory range has already been specified
"../src/OMAPL138.cmd", line 25: error #10264: DSPL2RAM memory range overlaps existing memory range DSPL2RAM
"../src/OMAPL138.cmd", line 26: error #10263: DSPL1PRAM memory range has already been specified
"../src/OMAPL138.cmd", line 26: error #10264: DSPL1PRAM memory range overlaps existing memory range DSPL1PRAM
"../src/OMAPL138.cmd", line 27: error #10263: DSPL1DRAM memory range has already been specified
"../src/OMAPL138.cmd", line 27: error #10264: DSPL1DRAM memory range overlaps existing memory range DSPL1DRAM
"../src/OMAPL138.cmd", line 31: error #10263: SHDSPL2ROM memory range has already been specified
"../src/OMAPL138.cmd", line 31: error #10264: SHDSPL2ROM memory range overlaps existing memory range SHDSPL2ROM
"../src/OMAPL138.cmd", line 32: error #10263: SHDSPL2RAM memory range has already been specified
"../src/OMAPL138.cmd", line 32: error #10264: SHDSPL2RAM memory range overlaps existing memory range SHDSPL2RAM
"../src/OMAPL138.cmd", line 33: error #10263: SHDSPL1PRAM memory range has already been specified
"../src/OMAPL138.cmd", line 33: error #10264: SHDSPL1PRAM memory range overlaps existing memory range SHDSPL1PRAM
"../src/OMAPL138.cmd", line 34: error #10263: SHDSPL1DRAM memory range has already been specified
"../src/OMAPL138.cmd", line 34: error #10264: SHDSPL1DRAM memory range overlaps existing memory range SHDSPL1DRAM
"../src/OMAPL138.cmd", line 35: error #10263: EMIFACS0 memory range has already been specified
"../src/OMAPL138.cmd", line 35: error #10264: EMIFACS0 memory range overlaps existing memory range EMIFACS0
"../src/OMAPL138.cmd", line 36: error #10263: EMIFACS2 memory range has already been specified
"../src/OMAPL138.cmd", line 36: error #10264: EMIFACS2 memory range overlaps existing memory range EMIFACS2
"../src/OMAPL138.cmd", line 37: error #10263: EMIFACS3 memory range has already been specified
"../src/OMAPL138.cmd", line 37: error #10264: EMIFACS3 memory range overlaps existing memory range EMIFACS3
"../src/OMAPL138.cmd", line 38: error #10263: EMIFACS4 memory range has already been specified
"../src/OMAPL138.cmd", line 38: error #10264: EMIFACS4 memory range overlaps existing memory range EMIFACS4
"../src/OMAPL138.cmd", line 39: error #10263: EMIFACS5 memory range has already been specified
"../src/OMAPL138.cmd", line 39: error #10264: EMIFACS5 memory range overlaps existing memory range EMIFACS5
"../src/OMAPL138.cmd", line 40: error #10263: SHRAM memory range has already been specified
"../src/OMAPL138.cmd", line 40: error #10264: SHRAM memory range overlaps existing memory range SHRAM
"../src/OMAPL138.cmd", line 41: error #10263: DDR2 memory range has already been specified
"../src/OMAPL138.cmd", line 41: error #10264: DDR2 memory range overlaps existing memory range DDR2
"../OMAPL138.cmd", line 53: error #10099-D: program will not fit into available memory. placement with alignment fails for section

Replies (2)

RE: Linker memory layout. - Added by Jonathan Cormier over 4 years ago

Edwin, Did you figure this out?

Some comments from Dave here:

Could it be trying to use two .cmd files?
At the end I see reference to: (implying one at .., and one at ../src)?

"../src/OMAPL138.cmd", line 41: error #10264: DDR2 memory range overlaps existing memory range DDR2
"../OMAPL138.cmd", line 53: error #10099-D: program will not fit into available memory. placement with alignment fails for section

which implies two OMAPL138.cmd, explaining the duplicates.

Also:

It looks like the OMAPL138.cmd file just places everything into SHRAM (SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */)

isn't how things get set up. The external memory for the DSP tends to be in 0xCxxxxxxx somewhere, determined in conjunction with the ARMs usage.

RE: Linker memory layout. - Added by Edwin McKay over 4 years ago

I think these errors have been over come. I'm using the 8000 tcf file. I am able to run the program and debug a little, but the emulator or something keeps resetting/crashing and I have to start from the beginning again. (See the other issue.)

    (1-2/2)
    Add picture from clipboard (Maximum size: 500 MB)