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/TMS320F2810:CCS7.1链接器错误:F2810_flash.cmd、行102:错误#10099-D:程序将无法装入可用内存-段的对齐/分块运行放置失败

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/597542/ccs-tms320f2810-ccs7-1-linker-error-f2810_flash-cmd-line-102-error-10099-d-program-will-not-fit-into-available-memory---run-placement-with-alignment-blocking-fails-for-section

器件型号:TMS320F2810

工具/软件:Code Composer Studio

您好!

将项目从 CCS3.3迁移到 CCS7.1时,我收到“错误#10099-D:程序将无法装入可用内存”链接器错误。

----------------------------------------------------------------------

"F2810_flash.cmd"、第102行:错误#10099-D:程序将无法放入可用内存中。  段的对齐/分块运行放置失败
  "SciaRegsFile"大小为0x10第1页。  可用存储器范围:SCIA    大小:0x10  未使用:0x10  最大空洞:0x10
  SciaRegsFile     :>SCIA,       page = 1.
  
"F2810_flash.cmd"、第103行:错误#10099-D:程序将无法放入 可用内存中。  段的对齐/分块运行放置失败
  "ScibRegsFile"大小为0x10第1页。  可用存储器范围:SCIB 大小:0x1f 未使用:0x1f 最大空洞:0x1f
  ScibRegsFile     :>SCIB,       page = 1.

----------------------------------------------------------------------

.cmd 文件

第1页:/*数据存储器*/
  /* RAM/FLASK/OTP 块可被移动至 PAGE0以进行程序分配 */
  RAMM0M1    :origin = 0x000000,length = 0x000800
  RAMH0      :origin = 0x3F8000、length = 0x002000
  CSM_PWL    :origin = 0x3F7FF8,length = 0x000008


  SCIA       :origin = 0x007050、length = 0x000040    //* SCI-A 寄存器*/
  SCIB       :origin = 0x007750、length = 0x000040   /* SCI-B 寄存器*/


 }

---- 如果.cmd 文件中的长度增加到40、则链接器错误消失、然后

---- 在映射中、0x10处的文件大小保持不变  、  未使用:0x30表示 SCIA 和 SCIB

您能否帮助您了解 原因?

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

    您使用的是什么编译器? 您是否尝试使用最新版本?

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

    是编译器是最新版本。 编译器版本为 ti-cgt-C2000_16.9.1.LTS -随 CCS7.1 istallation 提供的编译器。

    请参阅下面 cl2000 -version 命令的输出

    TMS320C2000 C/C++编译器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D

    TMS320C2000 C/C++解析器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 EABI C/C++解析器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 C/C++文件合并 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 C/C++优化器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 C/C++代码生成 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000汇编器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 Embed 实用程序 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 C 源码器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000链接器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000绝对列表器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000符号去除实用程序 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 XREF 实用程序 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000 C++还原器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000十六进制转换器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000名称实用程序 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000目标文件显示 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D
    TMS320C2000归档器 v16.9.1.LTS
    内部版本号1QM6L-I3E26%M8-RTAQ-SAV-C08D

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

    您好,

    有任何更新吗?

    我对这个问题有更多的意见。

    • 对于     _SciaRegs、映射文件将 origin 显示为00007080、而不是00007050  
    • 对于      _ScibRegs、映射文件将 origin 显示为00007780、而不是00007750

    • 当  ofd2000 --obj_display=none 时、执行段 ls.out 时、存储器对齐显示64
      • 对齐部分信息显示 64  
      • 目标文件:Ls.out
        • 部分信息

        ID 名称       页面加载 addr  运行 addr   size align alloc
        ---------------- ---- ------ ----

        10 SciaRegsFile 1 0x00007080 0x00007080  0x10 64    Y
        11 ScibRegsFile 1 0x00007780 0x00007780  0x10 64   Y

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

    您是否正在尝试将链接器中的任何其他内容与可能存在冲突的特定边界对齐?
    您可以尝试添加 align (4)[例如:SciaRegsFile :> SCIA、 PAGE = 1,ALIGN (4)]查看是否可以强制它对齐。

    George 在此处提供了可帮助进行调试的详细信息: e2e.ti.com/.../295439

    此致
    Chris