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.

Memory segment already specified

Hi,

I begin my first project with xdc and a .tcf for DSP/BIOS and I have these linker complains:

IRAM memory range has already been specifie

IRAM memory range overlaps existing memory range IRAM

Same thing for every memory segments.

I use XDC and Dsp/Bios. I include in my project the .cmd generated by my .tcf.

XDC include the linker.cmd also.

 

I know that i can remove the memory definition from my .tcf but it comes from my platform and it's different from the evm.

I tried to use a ti.platform.generic without success. (javascript trouble to manage generic platform)

 

What is the best way to control the segment and every thing that it's come from the platform ?

It's for the DM6437 and xdc 3.10.02.

 

Thank you

Regards

Guy

 

  • It sounds like you just have conflicting linker command files, if they are both defining an IRAM segment than you will get this sort of failure. Looking at the demo application build it appears that the TCF file is not actually making the cmd file and that the linker.cmd  from xdc is only being used, so I am guessing that the xdc memory map takes presidence over the BIOS memory map, my initial thought would be to simply not include one of the cmd files and see what happens. 

  • How can I prevent xdc to declare the memory segments (in the .cfg maybe) ?

     

  • If I comment the memory definition in the linker.cmd... It's compile and link ok.

     

    Guy

     

  • Unfortunately I am not that familiar with the xdc build process in CCS, most users seem to just build without it due to the complexity so I don't see it much, so hopefully someone else may be able to provide a more complete answer but I will give it a shot.

    I think you will want to look at a platform file, in particular something like C:/dvsdk_x_xx_xx_xx/xdc_x_xx_xx/packages/ti/platforms/evmDM6437/Platform.xdc, this file looks to contain the declaration of the memory map for the board, so you should at least be able to re-define it even if you cannot prevent declaration.

  • Guy Préfontaine said:

    If I comment the memory definition in the linker.cmd... It's compile and link ok.

     

    Guy

    In that case assuming the xdc memory map and the BIOS memory map agree you should be good to go, though you will likely have to uncomment the memory definition every time you rebuild since the linker.cmd is regenerated.

  • Two things that I learn in the though way is:

     

    - .tcf and .cfg must have the same filename (exclude extention).

    - Generated files include automatically by the .tcf have to be excluded from the compilation.

     

    Guy