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

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-24 02:22
fengyunyu 发表于 2014-12-10 17:20
LZ,版主都说了”afx和elf文件的源于工程创建时,选择的编译器不同。 afx对应FSL编译器,elf对应GCC“, ...

朋友谢谢回复。

我在看map文件,但没有看懂。附件是afx的xmap文件和elf生成的map文件。
其中elf的map文件,我就没看懂。
请你帮忙看看,非常感谢。
FSL_TICS_ZP
2楼-- · 2020-02-24 07:45

代码大小与axf和elf没有直接的关系,因为这两个文件内部还包含Debug信息,如果要看代码大小,直接看map文件吧。
湛泸骏驰
3楼-- · 2020-02-24 11:27
 精彩回答 2  元偷偷看……
子鱼
4楼-- · 2020-02-24 13:40
芯片的FLASH大小指的是生成bin文件的大小 和elf或者axf无关
qs6361036
5楼-- · 2020-02-24 14:46
代码优化是个很头疼的问题 。优化的好还行 ,优化的不好,debug的时候会出问题‘。相信大家都喜欢容量大的Flash 。
qs6361036
6楼-- · 2020-02-24 15:50
FSL_TICS_ZP 发表于 2014-12-10 16:49
你好,楼主!
afx和elf文件的源于工程创建时,选择的编译器不同。 afx对应FSL编译器,elf对应GCC。
与CW版 ...

有个疑问 ?
“afx对应FSL编译器,elf对应GCC ”。那么CW中生成的hex 文件 对应的是哪个编译器 ?  keil中生成的就是hex文件。

一周热门 更多>