你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

32Kbytes Flash,6Kbytes SRAM,可以运行多大的hex ?

[复制链接]
myfocus-2048857 提问时间:2016-11-5 16:46 /
见附图
MCU为 STM32F042C6T6,32Kbytes Flash,6Kbytes SRAM。

请问,使用MDK5.20生成 10Kbytes 的hex,可以 在该MCU上 正常运行吗 ?

谢谢 !

附图
111.png

<
收藏 1 评论16 发布时间:2016-11-5 16:46

举报

16个回答
小丁 最优答案 回答时间:2016-11-6 15:10:22

在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息:
Program Size: Code=6320  RO-data=4864  RW-data=44  ZI-data=1636  

代表的意思:
Code :是程序中代码所占字节大小
RO-data :程序中所定义的指令和常量大小 (个人理解 :Read Only)
RW-data :程序中已初始化的变量大小 (个人理解”:Read/Write)
ZI-Data :程序中未初始化的变量大小 (个人理解 :Zero Initialize)





ROM(Flash) size = Code+RO-data+RW-data;

RAM size = RW-data+ZI-data

可以通过.map查看占用的flash和ram大小

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

任风吹吹 最优答案 回答时间:2016-11-7 12:06:57
本帖最后由 任风吹吹 于 2016-11-7 12:08 编辑

ROM:read only memory,也就是楼上众多人所说的code+RO data,这部分是占着FLASH的,但RW-DATA,与ZI-data可是使用的RAM,RW-Data,可读写数据,放在FLASH中可能么?实际上它指的是一些静态数据,比如,全局变量,局部静态变量。而ZI是指未初始化数据,也是在RAM中,在程序运行时才会分配RAM空间给它,至于局部变量,那是放在栈内,在S文件中就定义了栈大小和堆大小,在编译器编译时就决定了其地址范围。

MAP文件在IAR中和KEIL中都有,指的就是后缀为.map的文件,KEIL默认在输出目录下,使用记事本就可以打开,它详细定义了各个函数,变量在编译后所对应的地址以及所占空间大小。


拿走不谢!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zhangxu56726 回答时间:2016-11-5 17:02:29
yes, the hex can be runed.
sodafordeath 回答时间:2016-11-5 18:44:01
运行需求不是这么看的....你在编译链接完后可以看到程序占用的空间.
"rogram Size: Code=8606 RO-data=1746 RW-data=56 ZI-data=1632  "
笑鸟007 回答时间:2016-11-5 21:10:41
牛人解答
myfocus-2048857 回答时间:2016-11-5 22:07:53
本帖最后由 myfocus-2048857 于 2016-11-6 13:21 编辑
sodafordeath 发表于 2016-11-5 18:44
运行需求不是这么看的....你在编译链接完后可以看到程序占用的空间.
"Program Size: Code=8606 RO-data=1 ...

谢谢大侠指点 !

见附图,为uVision V5.20.0.0的编译信息:
Program Size: Code=3336 RO-data=224 RW-data=24 ZI-data=1088  

我的理解如下:
3336 + 224 + 24 + 1088 = 4,672 bytes
也就是说:程序对flash的需求是 4,672bytes( STM32F042C6T6 的flash为32Kbytes),因此,flash够用。
(不知我的理解是否正确,还请大侠 轻拍、指点!)

请教:
如何知道SRAM 是否 够用呢 ?

附图
112.png

peter001 回答时间:2016-11-6 00:14:07
window 资源管理器看到的文件大小 与 实际在 芯片中代码大小是不同的,这个要注意哈,要看编译器给出的尺寸大小
asssdz-382474 回答时间:2016-11-6 04:23:03
:)
没事逛荡 回答时间:2016-11-6 12:06:48
myfocus-2048857 发表于 2016-11-5 22:07
谢谢大侠指点 !

见附图,为uVision V5.20.0.0的编译信息:

肯定可以的,你查下code、RO、RW、ZI占的空间,就清楚了。
或者看下Map文件,里面各个变量都有详细的分布。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

没事逛荡 回答时间:2016-11-6 12:07:58
myfocus-2048857 发表于 2016-11-5 22:07
谢谢大侠指点 !

见附图,为uVision V5.20.0.0的编译信息:

还有,Flash 的理解是不对滴....
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版