请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM46L852 优化似乎与 BL_FLASH.c 中等待的 while 循环混乱
代码在优化关闭或处于0级时工作正常。 挂起的情况。 单步进入 BL_FLASH.c 中的代码对于优化的代码来说非常困惑、但 看起来两种编译器都不尊重硬件寄存器的"易失性"、或者寄存器未被正确声明为易失性。
我使用的闪存 API 为02_01_01、我使用的是 SafetyMCUBootloader 示例。 编译器为 TI v16.6.0.STS
问题很容易重现-首先验证程序是否在关闭优化的情况下工作。 然后将优化提升到0以上、它将在尝试擦除闪存时挂起。
它是否适合这里的任何人? 我应该设置一些编译器设置吗?
谢谢、Steve