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.

Linker program problem

Other Parts Discussed in Thread: CONTROLSUITE


Hello everybody,

I changed the general configuration (please see the red circled options in the below figure) and now during the debug I'm getting a lot of errors like the  following ones:

"../FlashingLeds-CLA.asm", ERROR! at line 61: [E0002] CLA instruction requires
valid --cla_support
option
MNOP

"../FlashingLeds-CLA.asm", ERROR! at line 62: [E0002] CLA instruction requires
valid --cla_support
option
MNOP

"../FlashingLeds-CLA.asm", ERROR! at line 65: [E0002] CLA instruction requires
valid --cla_support
option
MDEBUGSTOP

Please someone could explain me what happened?

Thanks a lot in advance,

Emilio

  • Emilio,

    Can you change the device selection from Custom C2000 device back to F28069. The device selection will impact the default options sent to the build tools. The options to enable CLA are likely no longer being set.

    Regards,
    John
  • Hello John,
    thank you a lot for your fast reply. Actually I changed the device selection from Custom C2000 (was the working configuration) to F28069 (not working). Now If I change back to Custom C2000 (the original and working configuration) it doesn't work anymore and the errors I shown before occur.
    Thanks,
    kind regards,
    Emilio
  • Emilio,

    If you go into the project options what does it show for the CLA support option.  Does it look like the capture below?

    Regards,

    John

  • Hello John,

    it's like the following capture. Should I fill as yours?

    Thanks a lot,

    kind regards,

    Emilio

  • yes match mine and see if that helps. Currently your settings are not indicating to use CLA but their are CLA source files in the project so the tools are complaining. This should get us further.
  • Ok, I will change the settings; at this moment I have not the evaluation board with me. As soon as I get back to the lab I will check if this helps me.
    I'll let you know, thanks a lot.
    kind regards,
    Emilio
  • Hello JohnS,

    I tried right now to match your settings setup but the compilation continues to failure.
    Please find below the console's messages.
    Do you have idea where I'm wrong?
    Thanks a lot in advance,
    kind regards,
    Emilio



    "../28069_RAM_lnk.cmd" "../F28069_FLASH_FlashingLeds.CMD"
    <Linking>
    "../F28069_FLASH_FlashingLeds.CMD", line 70: error: RAML0 memory range overlaps

    existing memory range RAML0_L3
    "../F28069_FLASH_FlashingLeds.CMD", line 71: error: RAML1 memory range overlaps
    existing memory range RAML0_L3
    "../F28069_FLASH_FlashingLeds.CMD", line 72: error: RAML3 memory range overlaps
    existing memory range RAML0_L3
    "../F28069_FLASH_FlashingLeds.CMD", line 83: error: BEGIN memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 86: error: FPUTABLES memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 86: error: FPUTABLES memory range
    overlaps existing memory range FPUTABLES
    "../F28069_FLASH_FlashingLeds.CMD", line 87: error: IQTABLES memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 87: error: IQTABLES memory range
    overlaps existing memory range IQTABLES
    "../F28069_FLASH_FlashingLeds.CMD", line 88: error: IQTABLES2 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 88: error: IQTABLES2 memory range
    overlaps existing memory range IQTABLES2
    "../F28069_FLASH_FlashingLeds.CMD", line 89: error: IQTABLES3 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 89: error: IQTABLES3 memory range
    overlaps existing memory range IQTABLES3
    "../F28069_FLASH_FlashingLeds.CMD", line 91: error: ROM memory range overlaps
    existing memory range BOOTROM
    "../F28069_FLASH_FlashingLeds.CMD", line 92: error: RESET memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 92: error: RESET memory range overlaps
    existing memory range RESET
    "../F28069_FLASH_FlashingLeds.CMD", line 99: error: BOOT_RSVD memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 99: error: BOOT_RSVD memory range
    overlaps existing memory range BOOT_RSVD
    "../F28069_FLASH_FlashingLeds.CMD", line 101: error: RAMM1 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 101: error: RAMM1 memory range
    overlaps existing memory range RAMM1
    "../F28069_FLASH_FlashingLeds.CMD", line 104: error: RAML4 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 104: error: RAML4 memory range
    overlaps existing memory range RAML4
    "../F28069_FLASH_FlashingLeds.CMD", line 105: error: RAML5 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 105: error: RAML5 memory range
    overlaps existing memory range RAML5
    "../F28069_FLASH_FlashingLeds.CMD", line 106: error: RAML6 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 106: error: RAML6 memory range
    overlaps existing memory range RAML6
    "../F28069_FLASH_FlashingLeds.CMD", line 107: error: RAML7 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 107: error: RAML7 memory range
    overlaps existing memory range RAML7
    "../F28069_FLASH_FlashingLeds.CMD", line 108: error: RAML8 memory range has
    already been specified
    "../F28069_FLASH_FlashingLeds.CMD", line 108: error: RAML8 memory range
    overlaps existing memory range RAML8
    error: errors encountered during linking; "FlashingLeds.out" not built
    gmake: *** [FlashingLeds.out] Error 1
    gmake: Target `all' not remade because of errors.
    >> Compilation failure
  • Ok these errors are different. These are happening because there are memory blocks defined in the linker command file that overlap with each other. I suspect that what we may have here are multiple linker command files. Take a look in the project and see if there are more than one .CMD file. If there are you can exclude one of them by right clicking on it in the project view and selecting "Exclude from build".

    John
  • Hello JohnS,

    here a screenshot: I'm using only .cmd file.

    Now I found below errors; As I wrote before since  I changed the general configuration I am not more able to run the FlashingLeds program in FLASH mode.

    I'm still very confused.

    kind regards,

    Emilio

    "../F28069_FLASH_FlashingLeds.CMD" -l"libc.a"
    <Linking>
    warning: creating output section "EmuBModeVar" without a SECTIONS
    specification
    warning: creating output section "EmuKeyVar" without a SECTIONS specification
    warning: creating output section "PartIdRegsFile" without a SECTIONS
    specification
    warning: creating output section "FlashCallbackVar" without a SECTIONS
    specification
    warning: creating output section "FlashScalingVar" without a SECTIONS
    specification
    warning: creating output section "SysPwrCtrlRegsFile" without a SECTIONS
    specification
    warning: creating output section "DevEmuRegsFile" without a SECTIONS
    specification
    warning: creating output section "Comp2RegsFile" without a SECTIONS
    specification
    warning: creating output section "Comp3RegsFile" without a SECTIONS
    specification
    warning: creating output section "Comp1RegsFile" without a SECTIONS
    specification
    warning: creating output section "CpuTimer0RegsFile" without a SECTIONS
    specification

    (...)

  • I just tried importing a controlSUITE example to see what it does for linker command files and it seems to require 2 of them.

    Try removing the exclude from the F2806x_Headers_nonBIOS.cmd.  When I look in that file I see the missing section names.  The other cmd files were causing the duplicate memory block errors but this one looks to be required to get all the section info.

    John

  • ...with both the .CMD files now it's working correctly!
    Thanks a lot John!
    By the way: do you know where I could find more info with regard to the "general configuration" panel?

    Thanks,
    kind regards,
    Emilio
  • Emilio,

    You mean the one in the screen shot? If so those are really the settings are are initially selected when creating a new project with the project wizard. You select the device, debug connection... These selections will trigger build options to be set, default linker command files and sometimes initialization code to be added to the project. You can also choose which version of the compiler the project is used.

    The selections get preserved in the project so that someone can go back and change them. By changing them it will result in the older settings getting cleared and the new ones applied. This is why there are a bunch of linker command files in your project as when the device was changed CCS added the default files associated with the device. This can get messy if you are starting with an example as when the example was put together the author may have changed which Linker command files are being used.

    Some setting in that general section cannot be changed once the project is created. For example when you initially create the project you choose if it is going to be a program or a library. That is not something you can change later. For some devices you can choose the output format (ELF vs COFF) and device endianness, those are not available for C2000.


    Regards,
    John
  • Hello John,

    Thanks a lot for the useful informations: CCS becomes clearer to me.
    Kind regards,
    Emilio
  • No problem. It takes a while to learn a new tool.

    There is some material at this site that would be worth taking a look through: processors.wiki.ti.com/.../Category:CCS_Training

    Regards,
    John