搜索
bottom↓
回复: 10

关于程序在单片机中实际大小的问题?

[复制链接]

出0入17汤圆

发表于 2012-5-6 20:25:06 | 显示全部楼层 |阅读模式
一般大家都是把HEX文件下到单片机里;

我编译了一个程序keil显示
data=44.0 xdata=0 code=1670;

HEX文件大小5,238 字节
那这个程序在单片机里占flash的空间是多少?
是1670还是5238?
最好有详细解释;

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入17汤圆

 楼主| 发表于 2012-5-6 20:26:25 | 显示全部楼层
我遇到过一次HEX比flash大依然下载成功。

出0入0汤圆

发表于 2012-5-6 20:36:28 | 显示全部楼层
code=多少就是多少,Hex只是一种标准存储格式,并不直接等于程序有多大的,写进单片机里面的时候需要处理一下的,BIN格式的那种就是直接对应的,里面的数据就直接等于写进单片机Code里面的数据

出0入0汤圆

发表于 2012-5-6 20:42:02 | 显示全部楼层
1670

出0入0汤圆

发表于 2012-5-6 20:44:10 | 显示全部楼层
按code大小来 hex的大小无实际意义 除非是bin大小 我有个学长自己写的软件可以计算hex文件转换成bin后的实际大小 就是不知道他同不同意发上来

出0入0汤圆

发表于 2012-5-6 21:06:23 | 显示全部楼层
应该是1670/512=3.26

4*512=2048byte
哈哈

出0入4汤圆

发表于 2012-5-6 21:17:57 | 显示全部楼层
去找个hex2bin的转一下,看看bin多大就知道了。
如果你有源代码,在keil编译时就可以看到data、xdata、code的大小。
hex文件中有地址和校验内容会比实际内容大。

出0入0汤圆

发表于 2012-5-8 16:02:16 | 显示全部楼层
data=44.0 ;即占用的RAM空间
code=1670;即占用的ROM空间
与HEX大小 没有关系

出0入0汤圆

发表于 2012-5-8 16:21:16 | 显示全部楼层
又学到知识啦

出0入0汤圆

发表于 2015-7-3 13:08:53 | 显示全部楼层
终于弄明白了,非常感谢。

出0入0汤圆

发表于 2015-7-3 13:21:39 来自手机 | 显示全部楼层
一般hex比bin的两倍还要大些,keil4环境。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-11 03:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表