作者:HJL--希 | 来源:互联网 | 2023-06-18 18:17
“人家把他一辈子的经验都写下来,卖19元9毛一本,多划算。”
– 包益民
最近在使用 MDK 开发单片机程序,使用的 RTOS 操作系统是 RT-Thread, 编译器是 AC6
,优化等级为 -O0
。

首先,我的程序是已经勾选了 Reset and Run
这个选项:

其次,我遇到的情况更加复杂:只有仿真可以使用,给板子复位都不能运行。
但是当我选择 AC5
或者将优化等级提高的时候,程序运行是正常的,这让我有点疑惑,一般来说优化等级越低越不容易出错才对。在网上看了很多文章也没有解决,直到看到了 《实战技能分享,如何让工程代码各种优化等级通吃,含MDK AC5,AC6,IAR和GCC》:https://zhuanlan.zhihu.com/p/437796266这篇文章。
里面有关于这个问题的原因和解决办法,结果非常有效,便于记录,将其内容截图如下:

更多精彩内容,更多惊喜,请关注公众号《嵌入式小散修》。
