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 存储器范围与现有存储器范围 XYZ&quot 重叠;/连接器问题

Guru**** 2524460 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1200163/tms320f28069m-xyz-memory-range-overlaps-existing-memory-range-xyz-linker-issues

器件型号:TMS320F28069M

大家好!

我当前正在尝试复制一个现有项目的文件、并将设置到另一个名称的新项目。 我创建了新项目并移动了相关的.h 和.c 文件以及.cmd 链接器文件、但无法将其用于构建。 似乎它将 RAM 和闪存文件传递给链接器、尽管我只能知道其中一个文件被设置了。 我在尝试编译时遇到以下错误:

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

代码本身似乎可以很好地编译、只是在生成.out 文件时失败。  

我为每一个项目选择了项目选项、它们看起来是相同的、但显然我还没有注意到的地方。 我没有创建原始代码(这是一个 TI 示例项目)、因此我不确定需要对哪些内容进行更改。

感谢您的任何帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    很抱歉耽误你的时间。

    看起来你在你的项目中启用了2个链接器 cmd 文件。 请删除冗余的闪存。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我该怎么做呢? 根据我所能知、应该有两个、一个用于 RAM、一个用于闪存。 在配置中、RAM 链接器命令文件设置为 f28069M_RAM.cmd、闪存链接器文件设置为 F28069M_Flash.cmd。

    为了方便记录、我以另一种方式复制工程(只需在 CCS 中复制粘贴工程并随后重命名该工程、这一点以前对我来说有问题、但这次可以使用)来解决这个问题。 如果我或其他人再次遇到这种情况,那么确切地知道这件事到底发生了什么是件好事。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗯、我似乎无法将此问题取消标记为已解决、但当我将该项目重新计入新编译器版本时、又弹出了问题。 我仍然有两个 cmd 文件、但一个被设置为 debug、另一个被设置为 release。 调试配置可以正常工作、但版本配置不断尝试使用这两个 cmd 文件、即使我只把它指向闪存 cmd 文件/

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    很抱歉耽误你的时间。 问题是否仍然存在? 如果是、请确保从编译中排除了不需要的链接器 cmd 文件。

    此致、

    Veena

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我必须右键单击该文件、并将其从该构建中排除、是的。 我假定在配置菜单中设置文件能够做到这一点、但事实并非如此。 现在全部工作。