打印
[应用相关]

IAR 生成的bin文件大于实际大小

[复制链接]
429|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laozhongyi|  楼主 | 2020-3-8 11:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用CC debugger烧完仿真看flash,空间还有剩80+kb,但是生成bin之后就300+kb,之前有勾选options->linker->output->format的第一个选项,bin居然高达2M!我用的是CC2530,FLASH只有256K,怎么能让bin生成实际大小啊?

使用特权

评论回复
沙发
_gege| | 2020-3-8 12:03 | 只看该作者
你的format选择的是hex吧,编辑器打开观察内容。。

使用特权

评论回复
板凳
Mozarts| | 2020-3-8 12:03 | 只看该作者
连接文件地址分配的问题,当然是bin的问题;

使用特权

评论回复
地板
sourceInsight| | 2020-3-8 12:09 | 只看该作者
扩展了SDRAM在0x20000000地址,FLASH有字库,打算把字库编译到SDRAM中好烧写(特殊字库要带地址信息)

使用特权

评论回复
5
wanglaojii| | 2020-3-8 12:10 | 只看该作者
因为bin文件不包含数据地址信息,所以要整个数据填充,例如,程序从0开始100个字节,还有一部分从10000开始100个字节,那么生成bin会从0直接到10100,中间会填充无用的数据;而hex文件会指定位置;

使用特权

评论回复
6
feiqi1| | 2020-3-8 12:15 | 只看该作者
正常来说hex比bin多包含了一些地址信息,会导致hex比bin更大。

使用特权

评论回复
7
shashaa| | 2020-3-8 12:16 | 只看该作者
我生成的bin也确实比hex小个100+k,但是没意义呀,我要的是bin文件做串口烧写,不用烧写或调试器的,类似OAD。

使用特权

评论回复
8
Listate| | 2020-3-8 12:24 | 只看该作者
FLASH是256KB的空间,明明用仿真器下载完还能剩余空间,生成的bin文件却大的离谱。怎么办?

使用特权

评论回复
9
androidbus| | 2020-3-8 12:25 | 只看该作者
一般是地址空间不连续导致的 ,建议你先看看map的情况。。

使用特权

评论回复
10
litengg| | 2020-3-8 12:32 | 只看该作者
检查你的linker地址分配文件,CC2530的FLASH好像是从8000H开始的,看看你的配置文件是从那开始的。

使用特权

评论回复
11
qiangweii| | 2020-3-8 12:33 | 只看该作者
数据是连续的时候,hex文件大,不连续就很难说了。

使用特权

评论回复
12
xia00| | 2020-3-8 12:45 | 只看该作者
一般hex比bin多包含了一些地址信息,所以应该是hex比bin更大的。。

使用特权

评论回复
13
hfdy01| | 2020-3-8 12:46 | 只看该作者
没用过你那个芯片,实在不行,自己写个程序抽取一下也可以的.bin文件很好处理的.

使用特权

评论回复
14
CallReceiver| | 2020-3-8 12:52 | 只看该作者
具体的我就不太清楚的了,一般是直接生成.hex文件的。

使用特权

评论回复
15
boy1990| | 2020-3-8 12:52 | 只看该作者
我也是直接开启编译,开启优化,没注意这个问题。

使用特权

评论回复
16
bbapple| | 2020-3-8 12:58 | 只看该作者
还有头文件在hex里面。

使用特权

评论回复
17
handleMessage| | 2020-3-8 12:59 | 只看该作者
因为flash不够啊,只有256k,bin和hex文件又太大,不懂是编译选项问题还是怎么回事。

使用特权

评论回复
18
zhouhuanの| | 2020-3-8 13:04 | 只看该作者
hex太大了,都快超过flash两倍了。。。

使用特权

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

本版积分规则

111

主题

1388

帖子

0

粉丝