MDK AC5,AC6,GCC以及IAR在const局部变量存储位置的异同

|-------------------------------------------------------------|
| 这个是在RTX5全家桶源码升级时遇到的,给大家分享下,基本上已经升级完毕测试完毕了,且支持MDK6,这几天录制视频分享 |

直接说结论
1、一般情况下,const修饰后基本都是存到Flash里面的,全局变量或者静态局部变量是均存储到Flash,而局部变量是有区别的。
2、GCC,MDK AC5和AC6的const局部变量是存到RAM,而IAR不同,是依然保持存到Flash。
3、由于各个优化等级选项太多,不逐一测试了,每个编译器仅测试了一个选项/
4、测试版本MDK5.43, IAR9.30, Embedded Studio 5.50

MDK AC5优化和测试

MDK AC6优化和测试

IAR优化和测试

GCC优化和测试

相关推荐
William.csj2 天前
Linux——普通用户离线源码编译 gcc-9 方法和调用教程
linux·服务器·gcc
2601_951645634 天前
老牌C语言迎来重大蜕变,GCC 16+Clang 19全面适配C23标准
c·clang·gcc·嵌入式开发·c23
IAR Systems4 天前
在IAR工具链中使用overlay命令进行SMP多核工程TCM配置
arm开发·嵌入式·嵌入式开发·iar
斐夷所非5 天前
GCC 编译 | 命令参数、编译流程与链接机制
gcc
IAR Systems5 天前
使用IAR Arm工具链开发和调试Zephyr RTOS
arm开发·嵌入式·iar·zephyr
咖喱年糕6 天前
KEIL5 编译错误解决:MDK 5.37 及以上版本添加 AC5(ARM Compiler 5)编译器
arm开发·单片机·keil·嵌入式软件·ac5
ScilogyHunter7 天前
GCC完全指南
linux·gcc
少年、潜行11 天前
IAR FOR ARM 历史版本安装包、安装、注册流程【百度网盘资源】
arm开发·iar·iar历史版本·iar安装
IAR Systems20 天前
软件定义汽车:构建更安全、更智能的汽车应用软件
安全·汽车·嵌入式·iar
Irissgwe25 天前
二、Linux基础开发工具(2)
linux·makefile·gcc·g++·