硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4653|回复: 9
收起左侧

[有问必答] 请教一个.hex文件的问题

[复制链接]

32

主题

97

回帖

193

积分

初级会员

积分
193
发表于 2015-7-8 10:38:02 | 显示全部楼层 |阅读模式
我在使用v5开发板过程中,遇到一个很迷惑的问题。
比如:第70期:STemWin综合实验
25_58_dc3445cc4eebced.png


这个工程编译后的.hex文件达到了1.79 MB ,而stm32-v5的flash才是1M,我下载进去后,正确运行没问题,我很不解,编译后的.hex文件大于cpu的flash空间,这是怎么回事呀?
回复

使用道具 举报

32

主题

97

回帖

193

积分

初级会员

积分
193
 楼主| 发表于 2015-7-8 10:38:45 | 显示全部楼层
这个怎么解释?
回复

使用道具 举报

335

主题

2040

回帖

3050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3050
发表于 2015-7-8 11:51:04 | 显示全部楼层
hex文件中包含一些其他信息,比如代码的起始地址等,是当年intel定义的一种文件格式。

我有个程序的hex是900多k,实际代码是300多k。
回复

使用道具 举报

335

主题

2040

回帖

3050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3050
发表于 2015-7-8 11:51:26 | 显示全部楼层
hex文件中包含一些其他信息,比如代码的起始地址等,是当年intel定义的一种文件格式。

我有个程序的hex是900多k,实际代码是300多k。
回复

使用道具 举报

335

主题

2040

回帖

3050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3050
发表于 2015-7-8 11:51:47 | 显示全部楼层
hex文件中包含一些其他信息,比如代码的起始地址等,是当年intel定义的一种文件格式。

我有个程序的hex是900多k,实际代码是300多k。
回复

使用道具 举报

32

主题

97

回帖

193

积分

初级会员

积分
193
 楼主| 发表于 2015-7-8 14:36:32 | 显示全部楼层
是不是.hex是放在Cpu的flash里,而不是放在外部的flash?
回复

使用道具 举报

44

主题

564

回帖

701

积分

金牌会员

积分
701
发表于 2015-7-8 16:28:17 | 显示全部楼层
你应该是看MDK编译出来的信息,而不是看HEX文件的大小,hex文件还封装了很多信息的,最终被下载到Flash的大小就是编译显示的文件大小
回复

使用道具 举报

8

主题

33

回帖

7

积分

新手上路

积分
7
发表于 2015-7-9 13:47:34 | 显示全部楼层
你看.bin
回复

使用道具 举报

32

主题

97

回帖

193

积分

初级会员

积分
193
 楼主| 发表于 2015-7-14 13:01:39 | 显示全部楼层
比如说我编译出来的程序.bin(很多数据没有放置在外置FLASH中)比stm32f407内部的flash还要大,该怎么办呀?
回复

使用道具 举报

210

主题

1045

回帖

1685

积分

至尊会员

More we do, more we can do.

积分
1685
发表于 2015-7-15 16:01:08 | 显示全部楼层
HEX是纯粹的固件,它与BIN适用于不同的场合。
HEX采用ASCII格式且有附加域,它大小>2+ × BIN格式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 06:23 , Processed in 0.186045 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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