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.

TMS320F28069M: "XYZ memory range overlaps existing memory range XYZ" / Linker issues

Part Number: TMS320F28069M


Hi all,

I am currently attempting to copy an existing project's files and setup to a new project with a different name. I created the new project and moved the relevant .h and .c files, as well as the .cmd linker files, but cannot get it to build. It seems like it's passing both the RAM and FLASH files to the linker, despite as far as I can tell only one being set to go. I get the following errors when I try to compile:

Building target: "RDCBOT.out"
Invoking: C2000 Linker
"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla0 --float_support=fpu32 --vcu_support=vcu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi -z -m"RDCBOT.map" --stack_size=0x300 --warn_sections -i"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/lib" -i"C:/ti/ccs1120/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="RDCBOT_linkInfo.xml" --rom_model -o "RDCBOT.out" "./F2806x_CodeStartBranch.obj" "./F2806x_GlobalVariableDefs.obj" "./F2806x_usDelay.obj" "./hal.obj" "./main.obj" "./resolver.obj" "../28069_RAM_lnk.cmd" "../F28069M_Flash.cmd" "../f28069M_RAM.cmd" "../include/IQmath_fpu32.lib"  -llibc.a 
<Linking>
"../F28069M_Flash.cmd", line 99: error #10264: RAML0 memory range overlaps existing memory range RAML0_L3
"../F28069M_Flash.cmd", line 100: error #10264: RAML1 memory range overlaps existing memory range RAML0_L3
"../F28069M_Flash.cmd", line 111: error #10263: BEGIN memory range has already been specified
"../F28069M_Flash.cmd", line 114: error #10263: FPUTABLES memory range has already been specified
"../F28069M_Flash.cmd", line 114: error #10264: FPUTABLES memory range overlaps existing memory range FPUTABLES
"../F28069M_Flash.cmd", line 115: error #10264: IQTABLES memory range overlaps existing memory range FPUTABLES
"../F28069M_Flash.cmd", line 115: error #10263: IQTABLES memory range has already been specified
"../F28069M_Flash.cmd", line 115: error #10264: IQTABLES memory range overlaps existing memory range IQTABLES
"../F28069M_Flash.cmd", line 116: error #10264: IQTABLES2 memory range overlaps existing memory range IQTABLES
"../F28069M_Flash.cmd", line 116: error #10263: IQTABLES2 memory range has already been specified
"../F28069M_Flash.cmd", line 117: error #10264: IQTABLES3 memory range overlaps existing memory range IQTABLES
"../F28069M_Flash.cmd", line 117: error #10263: IQTABLES3 memory range has already been specified
"../F28069M_Flash.cmd", line 119: error #10264: ROM memory range overlaps existing memory range BOOTROM
"../F28069M_Flash.cmd", line 120: error #10263: RESET memory range has already been specified
"../F28069M_Flash.cmd", line 120: error #10264: RESET memory range overlaps existing memory range RESET
"../F28069M_Flash.cmd", line 127: error #10263: BOOT_RSVD memory range has already been specified
"../F28069M_Flash.cmd", line 127: error #10264: BOOT_RSVD memory range overlaps existing memory range BOOT_RSVD
"../F28069M_Flash.cmd", line 129: error #10263: RAMM1 memory range has already been specified
"../F28069M_Flash.cmd", line 129: error #10264: RAMM1 memory range overlaps existing memory range RAMM1
"../F28069M_Flash.cmd", line 131: error #10263: RAML4 memory range has already been specified
"../F28069M_Flash.cmd", line 131: error #10264: RAML4 memory range overlaps existing memory range RAML4
"../F28069M_Flash.cmd", line 132: error #10263: RAML5 memory range has already been specified
"../F28069M_Flash.cmd", line 132: error #10264: RAML5 memory range overlaps existing memory range RAML5
"../F28069M_Flash.cmd", line 133: error #10263: RAML6 memory range has already been specified
"../F28069M_Flash.cmd", line 133: error #10264: RAML6 memory range overlaps existing memory range RAML6
"../F28069M_Flash.cmd", line 134: error #10263: RAML7 memory range has already been specified
"../F28069M_Flash.cmd", line 134: error #10264: RAML7 memory range overlaps existing memory range RAML7
"../F28069M_Flash.cmd", line 135: error #10263: RAML8 memory range has already been specified
"../F28069M_Flash.cmd", line 135: error #10264: RAML8 memory range overlaps existing memory range RAML8
"../F28069M_Flash.cmd", line 136: error #10263: USB_RAM memory range has already been specified
"../F28069M_Flash.cmd", line 136: error #10264: USB_RAM memory range overlaps existing memory range USB_RAM
"../f28069M_RAM.cmd", line 108: error #10263: BEGIN memory range has already been specified
"../f28069M_RAM.cmd", line 108: error #10264: BEGIN memory range overlaps existing memory range BEGIN
"../f28069M_RAM.cmd", line 108: error #10263: BEGIN memory range has already been specified
"../f28069M_RAM.cmd", line 109: error #10263: RAMM0 memory range has already been specified
"../f28069M_RAM.cmd", line 109: error #10264: RAMM0 memory range overlaps existing memory range RAMM0
"../f28069M_RAM.cmd", line 110: error #10264: RAML0_L7 memory range overlaps existing memory range RAML0_L3
"../f28069M_RAM.cmd", line 110: error #10264: RAML0_L7 memory range overlaps existing memory range RAML0
"../f28069M_RAM.cmd", line 110: error #10264: RAML0_L7 memory range overlaps existing memory range RAML1
"../f28069M_RAM.cmd", line 112: error #10263: RESET memory range has already been specified
"../f28069M_RAM.cmd", line 112: error #10264: RESET memory range overlaps existing memory range RESET
"../f28069M_RAM.cmd", line 112: error #10263: RESET memory range has already been specified
"../f28069M_RAM.cmd", line 112: error #10264: RESET memory range overlaps existing memory range RESET
"../f28069M_RAM.cmd", line 113: error #10263: FPUTABLES memory range has already been specified
"../f28069M_RAM.cmd", line 113: error #10264: FPUTABLES memory range overlaps existing memory range FPUTABLES
"../f28069M_RAM.cmd", line 113: error #10263: FPUTABLES memory range has already been specified
"../f28069M_RAM.cmd", line 113: error #10264: FPUTABLES memory range overlaps existing memory range FPUTABLES
"../f28069M_RAM.cmd", line 114: error #10264: IQTABLES memory range overlaps existing memory range FPUTABLES
"../f28069M_RAM.cmd", line 114: error #10263: IQTABLES memory range has already been specified
"../f28069M_RAM.cmd", line 114: error #10264: IQTABLES memory range overlaps existing memory range IQTABLES
"../f28069M_RAM.cmd", line 114: error #10263: IQTABLES memory range has already been specified
"../f28069M_RAM.cmd", line 114: error #10264: IQTABLES memory range overlaps existing memory range IQTABLES
"../f28069M_RAM.cmd", line 115: error #10264: IQTABLES2 memory range overlaps existing memory range IQTABLES
"../f28069M_RAM.cmd", line 115: error #10263: IQTABLES2 memory range has already been specified
"../f28069M_RAM.cmd", line 115: error #10264: IQTABLES2 memory range overlaps existing memory range IQTABLES2
"../f28069M_RAM.cmd", line 115: error #10263: IQTABLES2 memory range has already been specified
"../f28069M_RAM.cmd", line 116: error #10264: IQTABLES3 memory range overlaps existing memory range IQTABLES
"../f28069M_RAM.cmd", line 116: error #10263: IQTABLES3 memory range has already been specified
"../f28069M_RAM.cmd", line 116: error #10264: IQTABLES3 memory range overlaps existing memory range IQTABLES3
"../f28069M_RAM.cmd", line 116: error #10263: IQTABLES3 memory range has already been specified
"../f28069M_RAM.cmd", line 118: error #10263: BOOTROM memory range has already been specified
"../f28069M_RAM.cmd", line 118: error #10264: BOOTROM memory range overlaps existing memory range BOOTROM
"../f28069M_RAM.cmd", line 118: error #10264: BOOTROM memory range overlaps existing memory range ROM
"../f28069M_RAM.cmd", line 123: error #10263: BOOT_RSVD memory range has already been specified
"../f28069M_RAM.cmd", line 123: error #10264: BOOT_RSVD memory range overlaps existing memory range BOOT_RSVD
"../f28069M_RAM.cmd", line 123: error #10263: BOOT_RSVD memory range has already been specified
"../f28069M_RAM.cmd", line 123: error #10264: BOOT_RSVD memory range overlaps existing memory range BOOT_RSVD
"../f28069M_RAM.cmd", line 124: error #10263: RAMM1 memory range has already been specified
"../f28069M_RAM.cmd", line 124: error #10264: RAMM1 memory range overlaps existing memory range RAMM1
"../f28069M_RAM.cmd", line 124: error #10263: RAMM1 memory range has already been specified
"../f28069M_RAM.cmd", line 124: error #10264: RAMM1 memory range overlaps existing memory range RAMM1
"../f28069M_RAM.cmd", line 125: error #10263: USB_RAM memory range has already been specified
"../f28069M_RAM.cmd", line 125: error #10264: USB_RAM memory range overlaps existing memory range USB_RAM
"../f28069M_RAM.cmd", line 125: error #10263: USB_RAM memory range has already been specified
"../f28069M_RAM.cmd", line 125: error #10264: USB_RAM memory range overlaps existing memory range USB_RAM
"../f28069M_RAM.cmd", line 138: warning #10190-D: absolute symbol "_RamfuncsLoadStart" being redefined
"../f28069M_RAM.cmd", line 139: warning #10190-D: absolute symbol "_RamfuncsLoadEnd" being redefined
"../f28069M_RAM.cmd", line 140: warning #10190-D: absolute symbol "_RamfuncsRunStart" being redefined
"../f28069M_RAM.cmd", line 141: warning #10190-D: absolute symbol "_RamfuncsLoadSize" being redefined
"../f28069M_RAM.cmd", line 138: warning #10190-D: absolute symbol "_RamfuncsLoadStart" being redefined
"../f28069M_RAM.cmd", line 139: warning #10190-D: absolute symbol "_RamfuncsLoadEnd" being redefined
"../f28069M_RAM.cmd", line 140: warning #10190-D: absolute symbol "_RamfuncsRunStart" being redefined
"../f28069M_RAM.cmd", line 141: warning #10190-D: absolute symbol "_RamfuncsLoadSize" being redefined
warning #10247-D: creating output section "PartIdRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EmuKeyVar" without a SECTIONS specification
warning #10247-D: creating output section "EmuBModeVar" without a SECTIONS specification
warning #10247-D: creating output section "FlashScalingVar" without a SECTIONS specification
warning #10247-D: creating output section "FlashCallbackVar" without a SECTIONS specification
warning #10247-D: creating output section "SysPwrCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DevEmuRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer0RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CpuTimer2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "CsmPwlFile" without a SECTIONS specification
warning #10247-D: creating output section "FlashRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcResultFile" without a SECTIONS specification
warning #10247-D: creating output section "CsmRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "NmiIntruptRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SciaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ScibRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SpiaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SpibRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "XIntruptRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Comp1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Comp2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Comp3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "PieCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECap3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "GpioDataRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "GpioIntRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "HRCap1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "HRCap2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "HRCap3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "HRCap4RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EQep1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EQep2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "I2caRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "McbspaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "SysCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECanaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "Cla1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECanaLAMRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECanaMOTSRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECanaMOTORegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm1RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm2RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm3RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm4RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm5RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm6RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm7RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "EPwm8RegsFile" without a SECTIONS specification
warning #10247-D: creating output section "GpioCtrlRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "AdcRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "DmaRegsFile" without a SECTIONS specification
warning #10247-D: creating output section "ECanaMboxesFile" without a SECTIONS specification
warning #10247-D: creating output section "PieVectTableFile" without a SECTIONS specification
warning #10247-D: creating output section "Usb0RegsFile" without a SECTIONS specification
"../f28069M_RAM.cmd", line 138: warning #10190-D: absolute symbol "_RamfuncsLoadStart" being redefined
"../f28069M_RAM.cmd", line 139: warning #10190-D: absolute symbol "_RamfuncsLoadEnd" being redefined
"../f28069M_RAM.cmd", line 140: warning #10190-D: absolute symbol "_RamfuncsRunStart" being redefined
"../f28069M_RAM.cmd", line 141: warning #10190-D: absolute symbol "_RamfuncsLoadSize" being redefined

The code itself seems to compile just fine, it just fails when generating the .out file. 

I went through the project options for each, and it seems like they're identical, but obviously not somewhere I haven't noticed yet. I didn't create the original code (It was a TI example project), so I'm not sure what all needs to get changed.

Thanks for any help!

  • Hi,

    Apologies for the delay.

    Looks like you have 2 linker cmd file enabled in your project. Please remove the redundant one.

    Regards,

    Veena

  • How do I go about doing that? From what I can tell, I should have two, one for RAM and one for FLASH. In the config, the RAM linker command file is set as f28069M_RAM.cmd and the FLASH linker file is set as F28069M_Flash.cmd.

    For the record, I ended up solving the issue by copying the project a different way (Simply copying and pasting the project in CCS and renaming it then, which has had issues for me previously but worked fine this time). It would be nice to know exactly what was going on with this though, in case I or someone else run into it again.

  • Well, I seem to not be able to un-mark this as resolved, but the issue has popped back up when I refactored the project onto a new compiler version. I still have the two cmd files, but one is set to DEBUG and one is set to RELEASE. The DEBUG configuration works fine, but the RELEASE config keeps trying to use both cmd files even though I only have it pointing at the FLASH cmd file/

  • Hi,

    Apologies for the delay. Is the issue still present? If yes, please make sure, the unwanted linker cmd file is excluded from build.

    Regards,

    Veena

  • I had to right click the file and exclude it from that build, yeah. I assumed that setting the file in the configuration menu would do that, but it didn't. All working now.