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.

[参考译文] CCS/TMS320F2.8377万D:"configPkg/linker.cmd",第47行:错误#1.0264万:PIEVECT内存范围与现有内存范围PIE_VECT重叠

Guru**** 2562120 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/591885/ccs-tms320f28377d-configpkg-linker-cmd-line-47-error-10264-pievect-memory-range-overlaps-existing-memory-range-pie_vect

部件号:TMS320F2.8377万D

工具/软件:Code Composer Studio

当尝试让链接程序将自动生成的符号映射输出到人类可读的内容时,CCS似乎已进入一种状态,我收到以下错误:

链接>
"configPkg/linker.cmd",第47行:错误#1.0264万:PIEVECT内存范围与现有内存范围PIE_VECT重叠
"configPkg/linker.cmd",第48行:错误#1.0264万:L03DPSARAM内存范围与现有内存范围LS01SARAM重叠
"configPkg/linker.cmd",第53行:错误#1.0263万:已指定闪存范围
"configPkg/linker.cmd",第54行:错误#1.0263万:已指定开始内存范围
错误#1.001万:链接时出错;未生成"excon"

我无法使其脱离这种状态。  我尝试了以下方法:

重建项目

删除构建目录

—运行CCS清洁

-删除工作空间中的.metadata目录

-卸载CCS,删除c:\ti\ccsv6目录,然后安装CCS 6.2 .0.0.005万

很遗憾,错误仍然存在。

 

configPkg/linker.cmd中存在导致此错误的内存部分。  我查看了另一台没有此问题的PC,并且configPkg/linker.cmd中没有内存部分。  这似乎是个问题,但由于configPkg/linker.cmd是自动生成的,我不知道如何使内存部分停止自动生成。

如何解决此问题有什么想法?  

此致,

约瑟夫

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

    内存部分通常在项目根中的链接程序命令文件中定义。 生成的configPkg/linker.cmd文件将引用这些部分。

    您是如何重命名分区的? 您是否在主链接程序命令文件中重命名它们,然后在生成的linker.cmd中重命名它们? 这可以工作,但只要轻触.cfg文件并重新生成linker.cmd文件,就会中断。

    各部分的名称在平台中定义。 例如,在我生成的linker.cmd文件的顶部有一条注释:
    /*
    *请勿修改此文件;它是从模板自动生成的
    * ti.platforms.concertoC28软件包中的linkcmd.xdt,将被覆盖。
    */

    该平台在您正在使用的SYS/BIOS或TI-RTOS中定义。 因此,重新安装CCS不会更改它,因为该文件不附带CCS。 对于我来说,该文件linkcmd.xdt位于C:\ti\tirtos_c2000_2_16_01_14\products\BIOS_6_45_02_31\packages\ti\platforms\concertoC28
    但是,我不会尝试编辑该文件,因为它实际上是一个脚本并从其他位置提取信息。

    我将回滚您对链接程序命令文件所做的更改。 CCS保留文件的本地历史记录。 右键单击主链接程序命令文件。 选择Compare with (比较)-> Local History (本地历史记录)。 您可以单击浏览文件的版本并查找具有原始节名称的最新版本。

    我不确定您在configPkg/linker.cmd中的最后部分是如何结束的。 如果.cfg设置为具有主cmd文件,我认为不应该发生这种情况。 如果您轻触.cfg文件并触发文件的重新生成,这些部分是否会消失?

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

    您好,John:

    感谢您的跟进。  一位同事通过比较工作中PC上的控制台日志与损坏的PC上的控制台日志来帮助我对此进行调试。  结果是"项目属性">"常规">"RTSC">"平台"发生了变化,并将其改回修复了该问题。  这不是我修改过的设置,因此似乎下面的某个项目设置更改导致了它的更改。

    [报价用户="Johns "]

    您是如何重命名分区的? 您是否在主链接程序命令文件中重命名它们,然后在生成的linker.cmd中重命名它们? 这可以工作,但只要轻触.cfg文件并重新生成linker.cmd文件,就会中断。

    [/引述]

    我没有重命名这些部分。  发生这种情况时,源代码没有任何更改。  有两个项目设置被更改,然后又被更改回来。

    1. 我尝试添加以下附加链接程序标志: -WL,-Map=filename.map。  这不起作用,所以我将其移除。
    2. 我不记得其他项目环境;这些可能是备选项目:
      1. 项目属性>构建> C2000编译器>高级选项>评估成员选项>生成选中的第一级程序集包含文件列表
      2. 项目属性>构建> C2000编译器>高级选项>补充信息>输出交叉引用列表至选中的.CRL文件
      3. Project Properties (项目属性)> Build (构建)> C2000 Linker (C2000连接器)> Advanced Options (高级选项)> Diagnostics (诊断)> Do do do do do do do demingle symbol names in diagnostics
      4. 项目属性>构建> C2000连接器>高级选项>诊断>检查详细诊断

    [报价用户="Johns "]

    我将回滚您对链接程序命令文件所做的更改。 CCS保留文件的本地历史记录。 右键单击主链接程序命令文件。 选择Compare with (比较)-> Local History (本地历史记录)。 您可以单击浏览文件的版本并查找具有原始节名称的最新版本。

    [/引述]

    遗憾的是,在删除workspace .metadata的过程中,本地历史可能丢失。

    [报价用户="Johns "]

    我不确定您在configPkg/linker.cmd中的最后部分是如何结束的。 如果.cfg设置为具有主cmd文件,我认为不应该发生这种情况。 如果您轻触.cfg文件并触发文件的重新生成,这些部分是否会消失?

    [/引述]

    [报价用户="Johns "]

    我没有机会尝试触摸,但删除了生成目录(包括linker.cmd),然后文件的重新生成仍有部分。

    [/引述]