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

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条回答
fengyunyu
1楼-- · 2020-02-21 01:14
先编译通过了再考虑能不能下载问题。
lzl000
2楼-- · 2020-02-21 06:21
 精彩回答 2  元偷偷看……
ly830102624
3楼-- · 2020-02-21 07:22
fengyunyu 发表于 2014-12-10 14:23
先编译通过了再考虑能不能下载问题。

我在开发web_server,工程里面加载了html网页文件。
减少部分网页文件,就可以编译通过,不保存,且down程序成功。

之前因为K60 flash 512KB不够用,才换K64 flash 1M的。
现在我的问题就是,怎么减小编译之后生成文件的大小?
ly830102624
4楼-- · 2020-02-21 09:31
lzl000 发表于 2014-12-10 14:30
可以代码优化等级提高下

就是不太熟悉如何优化,才发帖求助的。
请指点一下,CW10.6 + Freescale_MQX_4_1_TWRK64F120M ,如何优化代码?
fengyunyu
5楼-- · 2020-02-21 12:47
ly830102624 发表于 2014-12-10 14:42
就是不太熟悉如何优化,才发帖求助的。
请指点一下,CW10.6 + Freescale_MQX_4_1_TWRK64F120M ,如何优化 ...


CW10.5下是:properties->C build->Setting菜单,调整优化等级
mfketggo111
6楼-- · 2020-02-21 15:42
1)首先从你的代码部分优化,有些重复的函数是否能合并,是否可以把一些常数设置为const类型
2)修改编译器的优化等级,单前提是你不进行单步调试。优化后但不调试会跳过一些步的。

一周热门 更多>