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.

Problem with custom memory in a platform library

Hello,

We have a platform defined for our custom 6678 board. Inside this platform we have been defining all the memory regions as custom. One of the memory region is called 'BOOT' and is located at 0x00800000 size 256 bytes, another memory region is called 'L2SRAM' and starts at 0x00800100.

On the RTSC side, we have a linker script:

SECTIONS
{

.amaye > BOOT
.tsipData > L2SRAM
.appData > L2SRAM
}

After a clean/rebuild the linker fails with the following error:

#10265 no valid memory range(NULL) available for placement of ".amaye" test.cmd /FMC667Tsip line 5 C/C++ Problem
#10099-D</a> program will not fit into available memory. placement with alignment fails for section ".amaye" size 0x20 test.cmd /FMC667Tsip 

I double checked, the right platform is selected in the RTSC settings

This scheme was perfectly working with older CCS 5.x and older packages from TI. I was hoping someone could help me out here, because I definitely need to place the .amaye section in my BOOT area (starting at 0x00800000)

It is as if the custom sections are not well propagated to the linker from the platform library.

The versions:

XDCtools 3.23.4.6

MCSDK 2.1.2.6

PDK 1.1.2.6

SYS/BIOS 6.33.6.50

Compiler 7.4.8

I am adding a picture with the platform's memory configuration where we clearly see a BOOT area defined.

Thanks,

Arnaud

  • Arnaud,
    can you post the complete console output after you clean and try to rebuild the project?
    Can you also post the file linker.cmd from Debug/configPkg or Release/configPkg subdirectory of your project?
    Do you have any linker command scripts in the top directory of your project?

  • Sasha,

    Please find the following files attached:

    1) console.txt is the rebuild console output.

    2) test.cmd is my linker script in the project where I place .amaye section on the BOOT area among others things.

    3) linker.cmd is from Debug/configPkg

    I checked a bit 3) and it is interesting, the memory regions configured in my platform are simply not there. In my platform 'fmc667',L2SRAM starts at 0x00800100. I am again adding definition of my platform (memory.png).

    Thanks

      

    ti.zip
  • Arnaud,
    the most frequent cause of the problem you are seeing is that the platform build fails, and then you are left with a version of the platform that you successfully built earlier. If that's the case, you would see a message saying that the platform build did not succeed. It's hard to tell why would the build fail, and if that was really a cause, without seeing a platform.
    You can try the following. Go to the directory D:\platforms\fmc667 and first open the file Platform.xdc to verify that the memory setup in that file corresponds to the memory from the screenshot you posted. Then, open the command line window in that directory and run:
    C:/ti/xdctools_3_23_04_60/xdc
    You should see if the build succeeds or if there are some errors. Please let me know how it goes, and you can also just zip up the whole fmc667 directory and post so I can debug further.

  • Hello,

    Sorry for reacting so late. You were spot on, there was some updated in the platform I wasn't aware and the edit path wasn't D:\platforms as per your expectations

    Thanks for the help and pointers, this surely helped

    Best Regards,

    Arnaud