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/TMS320F28377S:C28x MCU 发布模式问题、它在调试模式下工作正常。

Guru**** 2482225 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/823292/ccs-tms320f28377s-c28x-mcu-release-mode-issue-where-as-it-works-fine-with-debug-mode

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

工具/软件:Code Composer Studio

您好!

我已经完成了应用程序调试模式、认为我可以最终加载到闪存中、但现在代码意外地在发布模式下挂起。  

我还发现、写入的延迟函数在释放模式下生成1.2秒、而与相同的延迟函数在调试模式下生成0.75秒。  

似乎存在一些时钟配置问题。 我已经验证了调试和发布的所有设置、看起来都是一样的。 但为什么会产生  

针对调试和释放模式的不同时序。 CPU 上的更多内容没有时间执行主例程。 但我已经在中测试 了相同的中断例程  

调试模式。  

如何确保 Debug 和 Release 以相同的方式工作。  

空延迟(无符号 int 计数)

unsigned int i、j;

for (i=0;<count;i++))

对于(j=0;j<5500;j++)

asm (" NOP");

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

    调试构建配置可能使用--opt_level=off,而发布构建配置可能使用--opt_level=2。  这意味着版本构建的运行速度会快得多。  因此、我很惊讶地看到您说发布版本的运行速度较慢。   

    但不要过于关注这一点。  这不是实现延迟的最佳方法。  C2000Ware 软件包中包含一些宏和函数、这些宏和函数是解决此问题的更好的解决方案。  本 论坛主题中讨论了这些主题

    谢谢、此致、

    乔治

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

    尊敬的乔治:

    是的、 最初在发布模式下为-opt_level=2、我已经将其更改为-opt_level=off。  

    但问题仍然相同。 是否可以将 DELAY_US()宏用于调试和释放模式,或者是否有任何限制。 因为它在 ME 释放模式下不起作用。  好的、让我再试一次、然后返回结果。  

    除了延迟之外,在从调试切换到释放时是否还需要注意其他事项?

    我看到了一个单独的闪存编程示例。 它的用途是什么? 只需切换到释放模式,就可以确保将程序存储在闪存中。

    释放模式的中断延迟是否会受到影响? 或者在两种模式下都是相同的?

    此致

    Stalin  

     

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

    [引用 user="ysn"]是否可以将 DELAY_US()宏用于调试和发布模式

    我不是特别熟悉这个宏。  但我不知道为什么由于编译器构建选项、它会运行方式有所不同。

    除了已经讨论过的优化级别变化之外、没有理由怀疑调试和版本构建配置之间的程序行为有很大差异。

    谢谢、此致、

    乔治