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

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-24 21:07
qs6361036 发表于 2014-12-10 20:01
有个疑问 ?
“afx对应FSL编译器,elf对应GCC ”。那么CW中生成的hex 文件 对应的是哪个编译器 ?  keil ...

axf、elf和hex的性质不同,axf、elf带调试信息,可以debug的。keil可以生成axf文件的。
qs6361036
2楼-- · 2020-02-24 21:42
 精彩回答 2  元偷偷看……
fengyunyu
3楼-- · 2020-02-25 01:48
qs6361036 发表于 2014-12-10 20:11
明白啦 ,CW 中生成的 HEX文件就是不带调试信息的 。跟那个编译器无关 。

hex本来就是不带调试信息的,和编译器、ide无关。
子鱼
4楼-- · 2020-02-25 06:35
hex文件是可以下载的 axf、elf可以转换成hex文件
holts2
5楼-- · 2020-02-25 11:26
不要用库,直接操作寄存器
FSL_TICS_ZP
6楼-- · 2020-02-25 12:56
qs6361036 发表于 2014-12-10 20:01
有个疑问 ?
“afx对应FSL编译器,elf对应GCC ”。那么CW中生成的hex 文件 对应的是哪个编译器 ?  keil ...

Hex不对应的编译器选择,就是与编译器无关。
而afx,elf文件包含debug interface选择的相关信息,归根到底这是软件设计的原因啊。

一周热门 更多>