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

news/2024/10/17 19:29:18/

首先感谢大家对上一个视频的点评回复,非常有意义的讨论,这次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,所有优化等级均正常:

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

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

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

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


http://www.ppmy.cn/news/1103831.html

相关文章

【算法】常见位运算总结

目录 1.基础位运算2. 给一个数n,确定它的二进制表示中的第x位是0还是13.将一个数n的二进制表示的第x位修改成14.将一个数n的二进制表示的第x位修改成0、5. 位图的思想6.提取一个数(n)二进制表示中最右侧的17.干掉一个数(n)二进制表示中最右侧的18.位运算的优先级9.异…

nodejs+vue+elementui高校人事管理系统

总体设计 根据高校人事管理系统的功能需求,进行系统设计。 用户功能:用户进入系统可以实现首页、个人中心、职称申报管理、工资信息管理、绩效信息管理、奖惩信息管理、招聘管理等进行操作; 院长功能:院长进入系统可以实现首页、个…

使用tornado实现sse

sse SSE(Server-Sent Events,服务器推送事件)是一种用于在服务器和客户端之间建立单向持久连接,允许服务器实时向客户端推送数据的网络通信协议。SSE是基于HTTP协议的,它允许服务器不断地将事件消息发送到客户端浏览器…

Redis事务机制

Redis 是一款开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。在日常的使用中,我们经常会遇到需要一次执行多个命令,并且这些命令要么全部成功,要么全部失败的场景。这就需要用到 Redis 的事务机制。 Redi…

【驱动开发】实现三盏灯的控制,编写应用程序测试

head.h #ifndef __HEAD_H__ #define __HEAD_H__//LED1:PE10 //LED2:PF10 //LED3:PE8#define LED_RCC 0X50000A28 //使能GPIO#define LED_MODER 0X50006000 //设置输出模式 #define LED_ODR 0X50006014 //设置输出高低电平#define LED2_MODER 0X50007000 …

粉底液、口红、睫毛膏,眼膜等护肤品和彩妆上架亚马逊需要做什么认证?HRIPT/RIPT测试,斑贴测试,COA认证和BCOP认证办理

亚马逊要求化妆、美容类睫毛膏、眼膜、足贴、假睫毛、洗发水、美甲套装等HRIPT / RIPTCOA测试,如果是眼睛这个部位使用的话 还需要出示BCOP认证 为了确保在使用产品或原料后不会产生潜在的刺激或过敏。亚马逊要求化妆品,美容产品,指甲胶等需…

Vue 组件中如何引入外部的js文件

Vue 组件中如何引入外部的js文件 背景 在Vue中,通常我们引入一个js插件都是使用npm 方式下载然后import使用的。但是我现在本地有了js文件或者是一个远程js文件链接,我不想使用npm install xxx 的方式,有什么办法吗? 方式一 简…

抖音小程序开发教学系列(5)- 抖音小程序数据交互

第五章:抖音小程序数据交互 5.1 抖音小程序的网络请求5.1.1 抖音小程序的网络请求方式和API介绍5.1.2 抖音小程序的数据请求示例和错误处理方法 5.2 抖音小程序的数据缓存和本地存储5.2.1 抖音小程序的数据缓存机制和使用方法5.2.2 抖音小程序的本地存储和数据持久化…