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.

[参考译文] TMS320F28388D:.data 段未初始化

Guru**** 2609955 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/976758/tms320f28388d-data-section-is-uninitialized

器件型号:TMS320F28388D

我现在仅使用 CCS10和28388两个月、我的28388项目是从28377项目创建的(因此可能会有一些旧的 CCS7/old-compiler 残留物导致此问题)。

我认为.data 段应该是全局初始化变量、现在已取消初始化垃圾。 此外,.data 的映射文件段已"未初始化"--是否需要在链接器命令文件中进行项目设置或执行其他操作,才能正确初始化这些全局变量?

谢谢、

Jim

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

    您好、Jim、

    请检查项目是否具有 COFF 或 EABI 设置。 看起来是使用 COFF 设置。 如果是、则更改 EABI 并查看该问题是否得到解决。

    此致、

    Vivek Singh

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

    Vivek、

    该项目已在使用 EABI、编译器为20.2.1.LTS。  

    我正在阅读--rom_model (当前使用的)与-ram_model 的相关信息。 我认为 ROM_MODEL 是正确的;对此有什么想法吗?

    谢谢、

    Jim

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

    Jim、

    我想 ROM 模型初始化不会发生。 让我来联系我们的编译器团队专家、以提供有关这方面的更多详细信息。

    此致、

    Vivek Singh  

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

    假设您使用--abi=eabi 进行编译,并使用--rom_model 进行链接。  

    [引用 user="jimj2713"]我认为应该是全局初始化变量的.data 段现在已取消初始化垃圾。

    您如何知道这种情况?  您到底会看到什么?   

    谢谢、此致、

    乔治

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

    乔治

    感谢您的快速回复;对您有关链接选项的问题回答正确。  

    我的问题与我描述的不同;我有一个多核应用程序、并且我的 CPU1 .data 段正在被正确初始化。 但是、当我将 CPU2应用程序加载到 CPU2中时、CPU1 .data 段(或其中的一部分)将被写入。 我验证了 GSRAM 在这两 个寄存器之间的分配是否正确、并且 GSxMSEL 寄存器是否设置正确。 我仍在寻找根本原因;是否有任何关于这可能是什么的建议?

    谢谢、

    Jim

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

    Jim、

    这是预期的。 闪存工具需要将闪存 API 加载到存储器中以执行闪存操作、并为此使用 GSxRAM。 这就是为什么您在加载 CPU2代码时看到 GSxRAM 中的内容被覆盖的原因。 您可以为此使用 M0/M1或 Dx RAM。 或者仅在加载时禁用"Run to Main"选项。 并且仅在加载两个内核上的代码后运行。

    此致、

    Vivek Singh

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

    我想我以前从未见过这种情况;感谢您的帮助。

    Jim