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.

[参考译文] MSPM0L1117:不需要的示例的优化选项

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1593193/mspm0l1117-optimization-options-for-examples-that-don-t-need-them

器件型号: MSPM0L1117

您好:

我正在运行 flashctl_dynamic_memory_protection 示例、其中一个关键变量 failType 已优化、因为我们默认在所有示例中将优化级别设置为 2。

虽然该示例在功能上可能“正确“、但在该示例中、您应该逐步观察函数返回代码的值以了解动态写保护的工作原理并对其进行优化对这一点没有帮助、因为像 failType 这样的一些变量会得到优化、并且会发生一些乱序执行。

我们能否确保在不需要优化的地方真正做到这一点? 或者所有这些工程都有调试配置、它们实际上应该是“调试“代码、在该代码中、优化已关闭、然后释放功能将重新开启优化。

Munan

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

    尊敬的 Munan:

     failType 是一个局部变量、如果用户希望观察该变量或使其不优化、则可以将其更改为全局变量或为变量添加易失性、就像 gCmdStatus 一样。

    B.R.

    Sal

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

    嗨、Sal、

    我知道如何使变量再次出现、但我认为更重要的是、我们不应该不必要地启用优化、因为这样会降低对单步执行示例时代码工作原理的理解。

    这个 SDK 示例就像我现在看到的一样、但我认为每个 SDK 示例都有默认的调试构建配置、优化设置为-o2。

    这样做有什么好处? 应该是吗?

    Munan

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

    尊敬的 Munan:

    非优化将显著增加代码大小并降低执行效率。

    这就是我们为所有 SDK 示例设置 O2 的原因。

    B.R.

    Sal

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

    使“发布“配置成为针对尺寸和速度进行优化的配置!

    这些示例好像我们正在努力在器件上整合。

    也许这是我个人的意见,但我只是看不到我们怎么不能做到这两个。