IAR生成HEX文件过大,怎么解决????
我在生成hex文件后,下载hex文件时,显示该Flash内存不足(CC2530 - ID6977: HEX file content at address 0x49618 exceeds chip's 256 kB flash size),但是以前用该代码生成的hex是可以用的,请问怎么修改 开优化把优化开到最高。 开优化 如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文件过大的问题,找找其他问题吧! diyeyuye 发表于 2014-10-22 13:08开优化把优化开到最高。
是最高优化级 dongmakuaibu 发表于 2014-10-22 13:35
开优化
最高优化 LingYi 发表于 2014-10-22 13:41
如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文 ...
同意。也许是linker文件有问题吧 代码优化下 手动优化,编译优化。 LingYi 发表于 2014-10-22 13:41
如果HEX文件超过FLASH的地址宽度了,编译器是不会让你编译通过的!既然生成了HEX文件,那么就不应该是HEX文 ...
现在就是不知道问题在哪,所以才像大家求救啊!!! so_so_so_so 发表于 2014-10-22 13:44
手动优化,编译优化。
代码这么大,手动优化?那工作量不是一般的大啊,而且效果不一定可以啊 开优化,优化代码,最好还是选择后者 steaven2000 发表于 2014-10-22 13:43
同意。也许是linker文件有问题吧
那具体怎么弄呢,代码我之前用的生成hex时么啥问题,不知道什么时候修改了下代码(配置方面的没有动)现在就不行了 慢慢懂 发表于 2014-10-22 13:48
那具体怎么弄呢,代码我之前用的生成hex时么啥问题,不知道什么时候修改了下代码(配置方面的没有动)现 ...
可能芯片 型号没有匹配,或者焊接存在问题! LingYi 发表于 2014-10-22 13:51
可能芯片 型号没有匹配,或者焊接存在问题!
型号是应该没问题的,我直接用IAR下载程序是可以用的,但是生成hex文件就出现这个问题了
其实不一定是代码太大,有可能是定义了一个常量到0x49618的地址了 LZ 是否是用不同版本的IAR生成的HEX ?? 版本一致么?感觉新版和旧版还是区别比较大的 markdif 发表于 2014-10-22 14:35
LZ 是否是用不同版本的IAR生成的HEX ??
都是用的IAR8.10版本的 lingergz 发表于 2014-10-22 14:53
版本一致么?感觉新版和旧版还是区别比较大的
都是同一个版本的 zhangyihua 发表于 2014-10-22 14:17
其实不一定是代码太大,有可能是定义了一个常量到0x49618的地址了
在IAR编辑器里面怎么去找这个地址所对应的常量呢? 看看链接文件是否指定了程序的地址空间范围 那麽大可能加上不少功能!{:lol:} dadongleilei 发表于 2014-10-24 10:54
看看链接文件是否指定了程序的地址空间范围
这个怎么看?求指导 IAR里可以看 链接文件脚本的,如果你没有改写的话,就是默认目录 ,你可以在option里的link script上看 dadongleilei 发表于 2014-10-24 12:57
IAR里可以看 链接文件脚本的,如果你没有改写的话,就是默认目录 ,你可以在option里的link script上看 ...
你说的是 Options-->LinKer-->Config里面的配置文件吗,这个我没改过,干才也确认了一边 jack12345 发表于 2014-10-24 12:17
那麽大可能加上不少功能!
?????? 慢慢懂 发表于 2014-10-24 13:12
你说的是 Options-->LinKer-->Config里面的配置文件吗,这个我没改过,干才也确认了一边 ...
是的,就是这里 优化...... 不懂,,学习了 慢慢懂 发表于 2014-10-22 15:57
都是用的IAR8.10版本的
out了,都到8.10了,我还用3.42的 dadongleilei 发表于 2014-10-24 13:19
是的,就是这里
这里真的没修改过, chip CC2530 重新抹除,再下载!!
或是EW8051生成 HEX 选项不同!! 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]