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.

[参考译文] 编译器/TMS320F28374S:两个参数决定代码的工作方式

Guru**** 2539050 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/692314/compiler-tms320f28374s-two-parameters-decide-how-code-works

器件型号:TMS320F28374S

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

您好!

客户正在将 CCS V6和编译器 V15用于应用。

他们发现、无论是否有两个特定参数、代码都可以或无法正常工作。

您会告诉我如何识别问题吗? 这是第二次发生。

详细信息、

1)使用以下两个参数、代码运行良好;

2) 2)如果没有这两个参数、代码将无法正常工作。

此处附上了两个不同的地图。

感谢您访问 lot.e2e.ti.com/.../map.7z

BR、Jordan

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

    它导致了什么问题?
    这是否会以任何方式影响堆栈? 可能会影响某些需要在存储器中进行特定对齐的代码或数据?

    此致
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Chris、
    我们尝试为堆栈提供更多的大小、但没有任何结果。
    如果您检查*地图,您将发现一些不合理的东西。 例如,使用两个额外的参数,地图中的总大小会更小。
    谢谢。
    BR、Jordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    约旦、您好!

    看起来您使用的是 CLA。 这可能是由 CLA 和 CPU 之间的 int 类型大小不匹配引起的。 CLA 上的 int 为32位宽、CPU 上的 int 为16位宽。 您应该检查 CLA 和 CPU 之间共享的所有变量和结构。

    Edward
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    爱德华
    是的、你是对的。
    我们将检查 CLA 汇编和 C28中所有 CLA 参数的地址、以查看它们是否相同。
    非常感谢。
    BR、Jordan