[求助]编译生成文件过大,如何优化?

2020-02-20 20:27发布

各位好

K60的工程转K64工程,工程编译报错:region `rom' overflowed by 4944 bytes。

K60板子,调试接口:OSBDM/OSJTAG,下载程序:.afx文件。
K64板子,调试接口:OpenSDA,          下载程序:.elf文件。

经验证,相同的工程:
Codewarrior10.5 编译后生成文件是.afx文件,文件大小较小。
Codewarrior10.6 编译后生成文件是.elf文件,文件大小较大。
两种文件大小相差较大,修改user_config.h效果不佳。

想问一下:
1. afx和elf分别是什么格式文件?
2. K64板子,OpenSDA接口能不能下载.afx文件?如果可以,CW10.6怎么能生成.afx文件?

请各位大神指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
48条回答
ly830102624
1楼-- · 2020-02-26 03:18
本帖最后由 ly830102624 于 2014-12-15 14:10 编辑
子鱼 发表于 2014-12-10 19:14
芯片的FLASH大小指的是生成bin文件的大小 和elf或者axf无关


elf和axf文件中包含调试信息,这些调试信息不回down到板子去吧?

hex文件可以转换bin文件,且bin文件本身的大小会比hex文件本身大小小得多。
那问一下,文件中对flash分配及占用情况应该是一致的吧?
xianghaisha
2楼-- · 2020-02-26 09:13
看程序大小是在编译完成的框里有
xianghaisha
3楼-- · 2020-02-26 13:49
或者你可以看看map文件,里面各种都有
ly830102624
4楼-- · 2020-02-26 17:57
xianghaisha 发表于 2014-12-15 16:14
或者你可以看看map文件,里面各种都有

谢谢回复,map里面的内容的确很多,我还在研究。
CW10.5中生成的xmap文件,后面直接打印出总的size。而CW10.6生成的map文件没有总的size,是分散的需要自己累加。见下图
CW10.6中是不是可以设置生成xmap文件?如果可以,如何设置?
holts2
5楼-- · 2020-02-26 20:30
 精彩回答 2  元偷偷看……
ly830102624
6楼-- · 2020-02-26 22:08
holts2 发表于 2014-12-15 16:52
include将没用到的 注释掉

多谢提醒,我会注意这点的

一周热门 更多>