这个指什么啊

[复制链接]
1400|24
手机看帖
扫描二维码
随时随地手机跟帖
huwr|  楼主 | 2016-2-17 20:23 | 显示全部楼层 |阅读模式
我们平常看片子什么56Kflashl啦 等等这些这里的56K 指的是我们在编译的时候
下面给出的
Program Size: Code=3696 RO-data=162148 RW-data=36 ZI-data=628

还是指生成的HEX文件的大小。

多谢各位。
huwr|  楼主 | 2016-2-17 20:24 | 显示全部楼层
还有 CODE的大小怎么算的..

使用特权

评论回复
huanghuac| | 2016-2-17 20:24 | 显示全部楼层
FLASH指程序存储器的大小,Code大小则是你的程序编译后的机器码(BIN文件)的大小,Code尺寸必须小于等于程序存储器的大小。

使用特权

评论回复
happy_10| | 2016-2-17 20:24 | 显示全部楼层
编译时给出程序存储器空间的意义在于制定跳转、调用指令以及代码超出时警告。

使用特权

评论回复
huwr|  楼主 | 2016-2-17 20:24 | 显示全部楼层
OK
大致有数了

就是说HEX文件的大小和flash的大小并没有直接的关系
这样理解可以么?

使用特权

评论回复
冰清玉洁| | 2016-2-17 20:24 | 显示全部楼层
56K是说芯片内部最多56K字节可以供程序使用
BIN是实际程序大小

使用特权

评论回复
wenfen| | 2016-2-17 20:25 | 显示全部楼层
FLASH的大小是芯片本身决定的,跟你的HEX文件当然无关了

使用特权

评论回复
zhuhuis| | 2016-2-17 20:25 | 显示全部楼层
有关系,你HEX文件的大小和必须要小于飞Flash的大小,不然你没法下载。

使用特权

评论回复
tian111| | 2016-2-17 20:25 | 显示全部楼层

Flash的大小决定了你的程序量。

使用特权

评论回复
宋倩2010| | 2016-2-17 20:25 | 显示全部楼层

对,但你必须选能装的下你程序代码的FLASH空间,FLASH正如装水的碗,程序则是水。

使用特权

评论回复
huwr|  楼主 | 2016-2-17 20:26 | 显示全部楼层
嗯,多谢各位大侠

使用特权

评论回复
huanghuac| | 2016-2-17 20:26 | 显示全部楼层
HEX是一种二进制文件格式,属于intel格式,另外还一种二进制格式是srec格式,即motorola格式。HEX文件的大小不是真实二进制程序的大小, 一般HEX文件都比真正的二进制程序bin文件大很多,所以你所说的HEX文件的大小必须要小于flash的大小有误

使用特权

评论回复
happy_10| | 2016-2-17 20:26 | 显示全部楼层
bin文件是二进制文件,它的每一个字节都会被烧录到目标存储器,但是必须由你来确定从哪烧起。
hex文件是bin文件按照一定的规则用文本方式表示,其中包含了,那些二进制值是烧录在哪个位置等信息。

使用特权

评论回复
冰清玉洁| | 2016-2-17 20:26 | 显示全部楼层
嗯,这些信息是给烧录器使用的,因此这不是最终烧入进存储器的字节数。

使用特权

评论回复
冰清玉洁| | 2016-2-17 20:27 | 显示全部楼层

Code=3696 +  RO-data=162148

使用特权

评论回复
冰清玉洁| | 2016-2-17 20:28 | 显示全部楼层
代码+只读数据大小 就是写入的大小,这里不包含各个段之间空余的部分,实际会大一些

使用特权

评论回复
wenfen| | 2016-2-17 20:28 | 显示全部楼层
烧录到芯片里面的应该是.bin文件。HEX文件到.bin文件有一种对应关系。.

使用特权

评论回复
zhuhuis| | 2016-2-17 20:28 | 显示全部楼层

bin文件的大小小于.hex文件的1/2。
具体详细情况请百度。

使用特权

评论回复
tian111| | 2016-2-17 20:29 | 显示全部楼层
就是芯片的存储空间的大小,你编写的程序太大了,就放不下了

使用特权

评论回复
宋倩2010| | 2016-2-17 20:29 | 显示全部楼层

flash指的是芯片内部存储容量的大小,有芯片制造商设计是确定,是固定的。

使用特权

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

本版积分规则

780

主题

8627

帖子

5

粉丝