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.

Please guide on linker settings

Other Parts Discussed in Thread: SYSBIOS

Hello!

I have prepared simple SYS/BIOS application for EVMC6670L. It contains clock function to periodically toggle LED. To control LEDs there is platform function provided in platform_lib, shipped with PDK. So I have added compiler include search path as "${TI_PDK_INSTALL_DIR}/packages/ti/platform", added "ti.platform.evm6670l.ae66" as input to linker, and "${TI_PDK_INSTALL_DIR}/packages/ti/platform/evmc6670l/platform_lib/lib/debug" as linker search path. This way my application compiles and runs on EVM. I see LED blinking as I expect.

What makes me worry is that linking process issues a warning:

#10247-D creating output section "platform_lib" without a SECTIONS specification

My memory of DSP/BIOS is telling me that probably I have to instruct linker how to handle platform library. At this step I did not create any custom linker command file. In project properties under CCS General, Linker command file there is blank. I see automatically generated  linker.cmd under Debug\configPkg\ and seems nothing in it is related to platform lib.

Please suggest, how do I fix my situation.

Thanks in advance.


  • What version of DSP/BIOS are you using?

    Also what is your build environment?  Are you using CCS and if so what version?  Some CCS versions allow you to simply add a second lnk.cmd file which you can then place the "platform_lib" section.

    Another option might be to create a linker.cmd file that includes the BIOS generated .cmd file and specify this to the linker.

    Judah

  • Hello!

    My project is based on SYS/BIOS 6.35.1.29, I am building with CCS 5.4, compiler version 7.4.4.

    Because automatically generated linker command file is pretty large, I think right solution is to include it in custom command file. I remember I was doing this with  DSP/BIOS 5.3 to place bootloader in desired location. That time it was easy: I have created a section and ordered its placement. However, with platform_lib I just don't know, what to write in custom linker command file. Please direct me.

    Thanks.

  • Okay, sorry, you mentiond DSPBIOS so I thought you were using BIOS 5.x

    Since you are using SYSBIOS which is BIOS 6.x there's an easy way to place your section in memory. Just add something like the following to your .cfg file:

               Program.sectMap["platform_lib"] = "DDR3";                      // Just name the memory segment you want it to go into

    Judah

  • Hello!

    Thank you very much for the hint. Adding ProgramsectMap["platform_lib"] spec resolves linking warning, so I've done.

    Just in case I'd like to ask, is there a way to a add specification using SYS/BIOS configuration GUI rather than hacking the text of configuration script

    Anyway, thank you again for the hint. I did not know this way before.

  • No, some things can only be done by adding code to the script.  I would not call this hacking as this is perfectly fine to do.  .cfg file can be modified through GUI or text.

    Judah

  • Hello!

    Knowing not to look for GUI way also is a time saver.

    Thank you again for this information, useful and relevant.