STM32/STM8技术william hill官网
直播中

贾永世

7年用户 1793经验值
私信 关注
[问答]

IAR生成的bin文件过大

用CC debugger烧完仿真看flash,空间还有剩80+kb,但是生成bin之后就300+kb,之前有勾选options->linker->output->format的第一个选项,bin居然高达2M!我用的是CC2530,FLASH只有256K,怎么能让bin生成实际大小啊?

回帖(16)

贾虎世

2018-11-1 10:19:24
你的format选择的是hex吧,编辑器打开观察内容
举报

王伟

2018-11-1 10:19:36
因为bin文件不包含数据地址信息,所以要整个数据填充.
举报

张艳

2018-11-1 10:19:55
程序从0开始100个字节,还有一部分从10000开始100个字节,那么生成bin会从0直接到10100,中间会填充无用的数据;而hex文件会指定位置;
举报

刘勇

2018-11-1 10:20:05
但是不应该呀,正常来说hex比bin多包含了一些地址信息,会导致hex比bin更大。
举报

李辉

2018-11-1 10:20:25
现在不明白的是,FLASH是256KB的空间,明明用仿真器下载完还能剩余空间,生成的bin文件却大的离谱。
举报

王莉

2018-11-1 10:21:04
一般是地址空间不连续导致的 ,建议你先看看map的情况
举报

李莉

2018-11-1 10:21:14
一般hex比bin多包含了一些地址信息,所以应该是hex比bin更大的
举报

杨静

2018-11-1 10:21:25
这个具体的我就不太清楚的了,一般是直接生成.hex文件的
举报

张红

2018-11-1 10:21:34
我也是直接开启编译,开启优化,没注意这个问题。
举报

王波

2018-11-1 10:22:07
还有头文件在hex里面,因为flash不够啊,只有256k,bin和hex文件又太大
举报

刘超

2018-11-1 10:22:15
这个真不知道怎么弄的,是不是编译器问题?
举报

张娟

2018-11-1 10:22:43
bin文件里面都是有保存地址吧
举报

张健

2018-11-1 10:23:10
只要不影响正常使用,不用调整bin格式。
举报

张英

2018-11-1 10:23:54
CC debugger烧写是需要读写地址的。
举报

杨丽

2018-11-1 10:24:05
这个是大小跟下载大小没有关系
举报

杨秀英

2018-11-1 10:24:18
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

发帖
×
20
完善资料,
赚取积分