指的什么

[复制链接]
 楼主| 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指的是芯片内部存储容量的大小,有芯片制造商设计是确定,是固定的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

914

主题

9040

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

914

主题

9040

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部