打印

单片机flash大小与hex文件大小的具体关系

[复制链接]
18178|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
afisk|  楼主 | 2010-11-16 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STC单片机做的东西,代码用keil4编译。问题是编译生成的hex文件大小必须小于单片机的flash的大小吗?有的人说hex文件可以大于flash,要看什么缓冲区是否符合,请问各位大侠,具体怎么看啊,谢谢


ps:(我发现hex文件大于flash也可以正常下载,有的程序也可以正常运行,有的不可以)

相关帖子

沙发
ejack| | 2010-11-16 19:02 | 只看该作者
hex文件其实是个格式规范的文本文件。程序代码大小与hex文件大小没有绝对的关联性,不过对于C51编译的代码来说由于塞得比较紧密(不像个人写汇编那么多随意的gap)可以认为有一个常见的比例关系。
程序代码的实际大小以hex文件中最高地址,或者以转换后的bin大小也可。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
afisk + 1
板凳
chunyang| | 2010-11-16 19:07 | 只看该作者
HEX文件需要转换成BIN文件后才是实际机器代码的尺寸,编译器在编译时也会告知机器代码的长度,这个参数才是要和存储器匹配的。

使用特权

评论回复
地板
xwj| | 2010-11-16 19:12 | 只看该作者
HEX文件,如果是连续地址的,除以2.6就差不多是实际大小。

一般编译器(比如Keil)编译后都会提示代码占用空间的,LZ都不看的吗?

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
afisk + 1
5
coody| | 2010-11-16 22:33 | 只看该作者
编译后看CODE大小,或者转成BIN看大小,HEX不准确的

使用特权

评论回复
6
liang7143| | 2010-11-17 09:57 | 只看该作者
HEX文件,里面有地址,还有验证信息

使用特权

评论回复
7
ayb_ice| | 2010-11-17 10:12 | 只看该作者
编译器又不知道你的硬件是怎么设计的
比如89C52 8KB程序
但你有可能使用外部程序,你的扩展设计可以是32K,64K啊,甚至使用切页方式16M,或者任意值
当然如果指定使用片内内存,编译代码如果超过范围则编译器会报警
....

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
afisk + 1
8
batsong| | 2010-11-17 12:50 | 只看该作者
文件大小是在windows文件系统下的大小

使用特权

评论回复
9
mcu9999| | 2010-11-17 13:26 | 只看该作者
可能是Flash的空间大小是不正确的,
标4K,本身有8K...

使用特权

评论回复
10
tianm| | 2010-11-17 13:32 | 只看该作者
找个hex文件的介绍看看

使用特权

评论回复
11
jyxielong| | 2010-11-17 16:48 | 只看该作者
HEX 下到flash中后,占得大小比hex本身文件大

使用特权

评论回复
12
jyxielong| | 2010-11-17 16:49 | 只看该作者
:L说错了,变小。。。。不清楚他们有什么关系

使用特权

评论回复
13
afisk|  楼主 | 2011-2-12 21:33 | 只看该作者
谢谢大家的回答 我现在彻底搞懂了 :)

使用特权

评论回复
14
afisk|  楼主 | 2011-2-12 21:36 | 只看该作者
7# ayb_ice

受用了 多谢!!

使用特权

评论回复
15
afisk|  楼主 | 2011-2-12 21:37 | 只看该作者
2# ejack

非常感谢你的回答,我现在对这个了解了!!

使用特权

评论回复
16
afisk|  楼主 | 2011-2-12 21:38 | 只看该作者
3# chunyang

回帖晚了 主要是前一段有点事 不好意思 chunyang大哥很给力!!!

使用特权

评论回复
17
china_fog| | 2011-2-12 21:41 | 只看该作者
编译完成下面有报告,程序要占多少字节,RAM空间要占多少,都有的,要么你生产各BIN文件来下载也可以。HEX跟实际尺寸差别蛮大

使用特权

评论回复
18
coody| | 2011-2-12 23:49 | 只看该作者
LZ可以在STC的下载软件中看到最后的地址,不超过的就可以,超过的话,会报告的。如果没有报告,则大小在MCU的FLASH范围内。

使用特权

评论回复
19
nan_banqiu| | 2011-2-14 18:09 | 只看该作者
学习了

使用特权

评论回复
20
AI_YSD| | 2012-12-31 16:29 | 只看该作者
学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

53

帖子

1

粉丝