系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行

首先感谢大家对上一个视频的点评回复,非常有意义的讨论,这次AC6的表现更新惊呆,不开优化都可以乱跳。


【实验目的】

同样的程序代码,目的是测试C环境的调试现象。


【实验版本】

IAR版本  :9.3x
MDK版本:5.3x, 含AC5和AC6
Embedded Studio:使用GCC,版本V7.1X


【视频展示】

https://www.bilibili.com/video/BV18h4y1v7yR

系统测试AC5, AC6, IAR和GCC调试效果,MDK AC6不开优化都可以调试乱跳,甚至倒序执行

【测试说明】

测试了IAR,所有优化等级均正常:

系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行_第1张图片

Embedded Studio开最高速度优化Level3 for speed,测试正常:

系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行_第2张图片

MDK AC5测试了O1和O3,调试均不正常,进入return还继续执行。

系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行_第3张图片

MDK AC6不开优化,设置优先级为O0,调试乱跳,这有点说不过去了。这不能怪优化问题了吧,用的AC6.18。

系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行_第4张图片

开成O1优化,甚至还可以倒序执行,动图效果:

系统测试AC5. AC6. IAR和GCC调试效果,MDK AC6不开优化调试乱跳,甚至倒序执行_第5张图片

你可能感兴趣的:(开发工具,stm32,MDK,AC5,AC6,GCC)