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/TMS320F28032:TMS320F28032处理器根据编译器版本(Code Composer)使用 If-else 循环中断

Guru**** 2183315 points
Other Parts Discussed in Thread: TMS320F28032, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/623342/ccs-tms320f28032-tms320f28032-processor-breaks-with-if-else-loop-depending-on-version-of-compiler-code-composer

器件型号:TMS320F28032
主题中讨论的其他器件: C2000WARE

工具/软件:Code Composer Studio

您好!

我在 Code Composer 版本7上进行的大多数 TMS320F28032芯片设计工作。 有一天,我在一份 if-else 声明中又增加了几个阶段,芯片完全破裂,不起作用。 当我删除了额外的"如果其他"语句时、它会再次开始工作。  

我检查了优化、将其关闭、并使用 If-else 语句进行了重新编译。 同样的结果、芯片也有某种 XDAIS 组件、我未检查并认为这可能是问题的原因、但同样的事情再次发生。

在 code composer 6.2中试用过它一段时间。然后我在另 一个不同的 If -else 语句中工作、现在在6.2版本中 也会发生同样的情况。 它用一条 if-else 语句来打破。。

这种情况令人非常不安、除了存在一些奇怪的优化问题之外、我不知道会发生什么(优化现已关闭)  

是否有人以前遇到过此问题、或者我是否应该购买其他处理器?

谢谢  

Bill

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

    您能给我提供更多详细信息吗? 哪种特定的编译器版本起作用? 哪一个不是? (您可以在项目属性中找到编译器版本)。

    您是否说即使关闭了优化、if-else 仍然失败?

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

    Whitney、

    我想我可能已经找到了这个问题的罪魁祸首。 当我在尝试思考可能的原因时、我看到了内存分配、似乎我们有一个非常大的计时器0交叉存取、大约1500行长(太长)、并且正在占用大量内存。

    RAML0已满99%、如果我添加几行代码 Boom。 我们是吐司。  

    我现在的问题是:"如何控制"我正在使用的 RAM 的哪个部分? 我可以中断该中断并使用某些 RAML1吗? 还是可以使 RAML0大两倍?

    谢谢!!!

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

    我们有一个有关链接的 Wiki 页面、可帮助您编辑.cmd 文件。 它介绍了如何组合存储器区域或如何在多个存储器区域之间拆分段(如.text)。

    C28x 编译器-了解链接

    请告诉我您是否有问题。

    惠特尼

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

    请举个好例子。 本文档包含一些闪存示例、但我想将 RAML0和 RAML1结合使用
    谢谢

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

    Bill、

    它对 RAM 的工作方式几乎相同。 我刚刚从 C2000Ware 中导入了其中一个 F2803x 示例(ePWM_dcevent_trip_comp)、发现它包含一个将 L0和 L1组合在一起的 cmd 文件。

    e2e.ti.com/.../28035_5F00_RAM_5F00_lnk.txt

    请参阅 RAML0L1存储器区域、该区域替换了 RAML0和 RAML1、并且.text 正在组合段中放置。

    惠特尼