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.

[参考译文] 编译器/TMS320F280049:对于 F280049、如何将填充闪存不使用为0、编译器版本为16.9.1

Guru**** 2587365 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/652734/compiler-tms320f280049-how-fill-flash-not-use-to-0-for-f280049-complier-version-is-16-9-1

器件型号:TMS320F280049

工具/软件:TI C/C++编译器

你好、冠军、

您知道如何在 CMD 文件中将所有 FLASH 不使用的值填充为0吗? 对于 F280049、编译器版本为16.9.1、我之前在 CMD 中使用 fill = 1指令、 但它会使 CCS7和16.9.1编译器的 CCS 崩溃。

谢谢!

BR

Joe

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

    Joe、

    您能否共享显示您使用 fill 的示例 cmd 文件?

    谢谢、此致、

    Vamsi

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

    Joe、您好!

    我继续尝试在我有的示例链接器命令文件中重现此问题、但我没有看到相同的错误。 您能否附加您正在使用的链接器命令文件或发布导致崩溃的行?

    谢谢、

    Taumer

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

    您好、Taumer、

    下面是问题图片、它在43%处停止、我在 CMD 中添加了 fill = 0xFFFF

    谢谢  

    BR

    Joe

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

    Joe、您好!

    这似乎很奇怪、我无法重现问题。 能否上传整个链接器命令文件?  

    谢谢、

    Taumer

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

    您好、Taumer、

    您可以在 attach 中找到 cmd 文件。

    谢谢!
    BR
    Joee2e.ti.com/.../T28049CmdFile.txt

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

    Joe、您好!

    我能够看到您描述的行为以及控制台中的内部链接器错误。 但是、我观察到链接期间冻结与内部链接器错误之间存在某种随机混合。 我怀疑正在生成的输出文件的大小可能存在问题、如果为较大的存储器范围指定了填充值、可能会太大。  您可以在我随附的《TMS320C28x 汇编语言工具指南》的第8.5.4.2节中阅读有关此内容的更多信息。 我还将与我们的编译器专家交流、以获得更多帮助。   。  

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

    有关此问题的任何更新、我的客户等待它重新编写以完成其代码。

    谢谢!

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

    在链接器命令文件中、您将使用0xFFFF 填充闪存的少数扇区、但稍后会将它们分配给某些段。

    必须使用选项'fill'来填充未初始化的段。
    如果需要填充孔洞、请使用选项'fill_value"(可以在 CCS->C2000 Linker->Advanced Options -> Runtime Environment ->输出段中孔洞的默认填充值(--fill_value、-f)中找到)

    这是问题的原因。 请使用上述选项。 或者、对于所有未使用的闪存扇区、使用'fill'选项。

    请告诉我们这是否有帮助。

    谢谢、
    Katta