关于程序在单片机中实际大小的问题?
一般大家都是把HEX文件下到单片机里;我编译了一个程序keil显示
data=44.0 xdata=0 code=1670;
HEX文件大小5,238 字节
那这个程序在单片机里占flash的空间是多少?
是1670还是5238?
最好有详细解释;
我遇到过一次HEX比flash大依然下载成功。 code=多少就是多少,Hex只是一种标准存储格式,并不直接等于程序有多大的,写进单片机里面的时候需要处理一下的,BIN格式的那种就是直接对应的,里面的数据就直接等于写进单片机Code里面的数据 1670{:biggrin:}{:biggrin:} 按code大小来 hex的大小无实际意义 除非是bin大小 我有个学长自己写的软件可以计算hex文件转换成bin后的实际大小 就是不知道他同不同意发上来{:biggrin:} 应该是1670/512=3.26
4*512=2048byte
哈哈 去找个hex2bin的转一下,看看bin多大就知道了。
如果你有源代码,在keil编译时就可以看到data、xdata、code的大小。
hex文件中有地址和校验内容会比实际内容大。 data=44.0 ;即占用的RAM空间
code=1670;即占用的ROM空间
与HEX大小 没有关系 又学到知识啦 终于弄明白了,非常感谢。 一般hex比bin的两倍还要大些,keil4环境。
页:
[1]