21ic电子技术开发论坛

标题: 指的什么 [打印本页]

作者: wangzsa    时间: 2022-7-9 11:39
标题: 指的什么
我们平常看片子什么56Kflashl啦 等等这些这里的56K 指的是我们在编译的时候
下面给出的
Program Size: Code=3696 RO-data=162148 RW-data=36 ZI-data=628

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

多谢各位。

作者: wangzsa    时间: 2022-7-9 11:43
还有 CODE的大小怎么算的..

作者: dengdc    时间: 2022-7-9 11:46
FLASH指程序存储器的大小,Code大小则是你的程序编译后的机器码(BIN文件)的大小,Code尺寸必须小于等于程序存储器的大小。

作者: xxmmi    时间: 2022-7-9 11:51
编译时给出程序存储器空间的意义在于制定跳转、调用指令以及代码超出时警告。

作者: wangzsa    时间: 2022-7-9 11:54

OK
大致有数了

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

作者: renyaq    时间: 2022-7-9 11:57

56K是说芯片内部最多56K字节可以供程序使用
BIN是实际程序大小

作者: stly    时间: 2022-7-9 12:37
我晕,这是说这个片子的flash大小啊。

作者: dengdc    时间: 2022-7-9 12:38
FLASH的大小是芯片本身决定的,跟你的HEX文件当然无关了

作者: dengdc    时间: 2022-7-9 13:05
有关系,你HEX文件的大小和必须要小于飞Flash的大小,不然你没法下载。

作者: wyjie    时间: 2022-7-9 13:07
Flash的大小决定了你的程序量。

作者: chuxh    时间: 2022-7-9 13:16

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

作者: jiahy    时间: 2022-7-9 13:18
HEX是一种二进制文件格式,属于intel格式,另外还一种二进制格式是srec格式,即motorola格式。HEX文件的大小不是真实二进制程序的大小, 一般HEX文件都比真正的二进制程序bin文件大很多,所以你所说的HEX文件的大小必须要小于flash的大小有误

作者: huangchui    时间: 2022-7-9 13:20

bin文件是二进制文件,它的每一个字节都会被烧录到目标存储器,但是必须由你来确定从哪烧起。
hex文件是bin文件按照一定的规则用文本方式表示,其中包含了,那些二进制值是烧录在哪个位置等信息。

作者: zwll    时间: 2022-7-9 13:22
嗯,这些信息是给烧录器使用的,因此这不是最终烧入进存储器的字节数。

作者: stly    时间: 2022-7-9 13:50
Code=3696 +  RO-data=162148

作者: juventus9554    时间: 2022-7-9 13:52
代码+只读数据大小 就是写入的大小,这里不包含各个段之间空余的部分,实际会大一些

作者: huwr    时间: 2022-7-9 13:53
烧录到芯片里面的应该是.bin文件。HEX文件到.bin文件有一种对应关系。.

作者: huwr    时间: 2022-7-9 13:55

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

作者: supernan    时间: 2022-7-9 13:57

就是芯片的存储空间的大小,你编写的程序太大了,就放不下了

作者: wyjie    时间: 2022-7-9 13:59
flash指的是芯片内部存储容量的大小,有芯片制造商设计是确定,是固定的。

作者: zhenykun    时间: 2022-7-9 14:53
下载到芯片内的字节数就是你编译时的CODE数,因此要求CODE<=flash。

作者: wangzsa    时间: 2022-7-9 14:56
生成的HEX、BIN文件由于电脑的管理等问题,一般比code数要大一点。

作者: xxrs    时间: 2022-7-9 14:57
指生成的HEX文件的大小啊。

作者: dingy    时间: 2022-7-9 15:03
多谢大家讨论这么多哈,呵呵





欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)