慢慢懂 发表于 2014-10-22 12:48:50

IAR生成HEX文件过大,怎么解决????

我在生成hex文件后,下载hex文件时,显示该Flash内存不足(CC2530 - ID6977: HEX file content at address 0x49618 exceeds chip's 256 kB flash size),但是以前用该代码生成的hex是可以用的,请问怎么修改

diyeyuye 发表于 2014-10-22 13:08:13

开优化把优化开到最高。

dongmakuaibu 发表于 2014-10-22 13:35:03

开优化

LingYi 发表于 2014-10-22 13:41:11

如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文件过大的问题,找找其他问题吧!

慢慢懂 发表于 2014-10-22 13:42:03

diyeyuye 发表于 2014-10-22 13:08
开优化把优化开到最高。

是最高优化级

慢慢懂 发表于 2014-10-22 13:42:47

dongmakuaibu 发表于 2014-10-22 13:35
开优化

最高优化

steaven2000 发表于 2014-10-22 13:43:02

LingYi 发表于 2014-10-22 13:41
如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文 ...

同意。也许是linker文件有问题吧

mo959 发表于 2014-10-22 13:43:07

代码优化下

so_so_so_so 发表于 2014-10-22 13:44:13

手动优化,编译优化。

慢慢懂 发表于 2014-10-22 13:44:34

LingYi 发表于 2014-10-22 13:41
如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文 ...

现在就是不知道问题在哪,所以才像大家求救啊!!!

慢慢懂 发表于 2014-10-22 13:46:23

so_so_so_so 发表于 2014-10-22 13:44
手动优化,编译优化。

代码这么大,手动优化?那工作量不是一般的大啊,而且效果不一定可以啊

yaxiaoyu 发表于 2014-10-22 13:47:40

开优化,优化代码,最好还是选择后者

慢慢懂 发表于 2014-10-22 13:48:00

steaven2000 发表于 2014-10-22 13:43
同意。也许是linker文件有问题吧

那具体怎么弄呢,代码我之前用的生成hex时么啥问题,不知道什么时候修改了下代码(配置方面的没有动)现在就不行了

LingYi 发表于 2014-10-22 13:51:45

慢慢懂 发表于 2014-10-22 13:48
那具体怎么弄呢,代码我之前用的生成hex时么啥问题,不知道什么时候修改了下代码(配置方面的没有动)现 ...

可能芯片 型号没有匹配,或者焊接存在问题!

慢慢懂 发表于 2014-10-22 14:15:53

LingYi 发表于 2014-10-22 13:51
可能芯片 型号没有匹配,或者焊接存在问题!

型号是应该没问题的,我直接用IAR下载程序是可以用的,但是生成hex文件就出现这个问题了

zhangyihua 发表于 2014-10-22 14:17:38

其实不一定是代码太大,有可能是定义了一个常量到0x49618的地址了

markdif 发表于 2014-10-22 14:35:37

LZ 是否是用不同版本的IAR生成的HEX ??

lingergz 发表于 2014-10-22 14:53:45

版本一致么?感觉新版和旧版还是区别比较大的

慢慢懂 发表于 2014-10-22 15:57:26

markdif 发表于 2014-10-22 14:35
LZ 是否是用不同版本的IAR生成的HEX ??

都是用的IAR8.10版本的

慢慢懂 发表于 2014-10-22 15:58:12

lingergz 发表于 2014-10-22 14:53
版本一致么?感觉新版和旧版还是区别比较大的

都是同一个版本的

慢慢懂 发表于 2014-10-22 16:06:15

zhangyihua 发表于 2014-10-22 14:17
其实不一定是代码太大,有可能是定义了一个常量到0x49618的地址了

在IAR编辑器里面怎么去找这个地址所对应的常量呢?

dadongleilei 发表于 2014-10-24 10:54:35

看看链接文件是否指定了程序的地址空间范围

jack12345 发表于 2014-10-24 12:17:07

那麽大可能加上不少功能!{:lol:}

慢慢懂 发表于 2014-10-24 12:51:03

dadongleilei 发表于 2014-10-24 10:54
看看链接文件是否指定了程序的地址空间范围

这个怎么看?求指导

dadongleilei 发表于 2014-10-24 12:57:52

IAR里可以看 链接文件脚本的,如果你没有改写的话,就是默认目录 ,你可以在option里的link script上看

慢慢懂 发表于 2014-10-24 13:12:34

dadongleilei 发表于 2014-10-24 12:57
IAR里可以看 链接文件脚本的,如果你没有改写的话,就是默认目录 ,你可以在option里的link script上看 ...

你说的是 Options-->LinKer-->Config里面的配置文件吗,这个我没改过,干才也确认了一边

慢慢懂 发表于 2014-10-24 13:13:29

jack12345 发表于 2014-10-24 12:17
那麽大可能加上不少功能!

??????

dadongleilei 发表于 2014-10-24 13:19:43

慢慢懂 发表于 2014-10-24 13:12
你说的是 Options-->LinKer-->Config里面的配置文件吗,这个我没改过,干才也确认了一边 ...

是的,就是这里

gaoshiduo 发表于 2014-10-24 13:26:31

优化......

tj7856 发表于 2014-10-24 13:29:31

不懂,,学习了

dianyuan 发表于 2014-10-24 13:30:51

慢慢懂 发表于 2014-10-22 15:57
都是用的IAR8.10版本的

out了,都到8.10了,我还用3.42的

慢慢懂 发表于 2014-10-24 13:44:01

dadongleilei 发表于 2014-10-24 13:19
是的,就是这里

这里真的没修改过,

jack12345 发表于 2014-10-24 14:12:37

chip CC2530 重新抹除,再下载!!
或是EW8051生成 HEX 选项不同!!

慢慢懂 发表于 2014-10-24 14:14:57

jack12345 发表于 2014-10-24 14:12
chip CC2530 重新抹除,再下载!!
或是EW8051生成 HEX 选项不同!!

已经解决了,原来是在 f8w2530.xd文件里面的-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]*\
_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000 注册掉了
页: [1]
查看完整版本: IAR生成HEX文件过大,怎么解决????