MTK 报错集锦MTK 2009-04-03 11:52:33 阅读183 评论2 字号:大中小 订阅
1. 编译前须关闭项目文件夹下的相关文件。
2. Error: L6218E: Undefined symbol LCD_CtrlWrite_S6B33B1X (referred from MiscFunctions.obj).
相对过剩人口3. 修改了.mak 文件后,必须NEW
4. 如新加了#include ... 后发现很多在一起的变量没定义,可以把该句移到其他#include 背后。
5. 当SVN系统,文件夹有黄色的叹号,表示冲突时,右击文件夹,选Resolved
即可
6. Error: L6218E: Undefined symbol DBG_PutUartStr1 (referred from keybrd.obj).
此为keybrd.c 文件中引用了 DBG_PutUartStr1() 函数,而找不到该函数的定义,原因是remake 时未对包含该函数定义的文件进行重新编译链接,搜索发现DBG_PutUartStr1 的定义在 Drv_comm.c 文件中,故删除F:\Z1700(BW1199)\Code\build\B1199\gprs\MT6223Po\drv\ Drv_comm.obj , 使其重新编译链接后PASS.
8..SVN 上传更改的文件时, 检测到非ASCII字符,并且不能转换自UTF-8
上传时未添加log注释,添加log后解决。
7. Fatal error: L6031U: Could not open scatter description file custom\system\MT6226_06B_BB\
在此目录下自己新建一个
8. Warning: L6340W: options first and last are ignored for link type of -scattered
Error: L6218E: Undefined symbol RA_Hw_Init (referred from ra_hw.o).
Error: L6218E: Undefined symbol RA_Power_On (referred from ra_hw.o).
…世界上最大的蟒蛇
出现很多Undefined 的这种错误,且都是一个模块的,(属于ry3601模块),在option.mak 中添加CUS_REL_SRC_COMP += ry3601,remake 后 OK.
9. "plutommi\mtkapp\soundrecorder\soundrecordersrc\soundrecordersrc.c", line 517: Error: C283
9E: junk at end of #endif line – ignored
前面多了一个#endif , 去掉后OK
10. "plutommi\mmi\gpio\gpiosrc\generaldeviceinterface.c", line 2085: Error: C2933E: type disagreement for 'PlayAndStopRuningHorLedWithMusic'
在函数定义前引用了此函数,而在文件头部没有进行声明,只须在文件前头端进行声明即可.
11.Error: L6218E: Undefined symbol __MAINLCD__MAINMENU__MATRIX__MM_BG_GIF (referred from themeres.obj).
查看代码发现__MAINLCD__MAINMENU__MATRIX__MM_BG_GIF的声明在 Themecomponents.h中,搜索发现有两个文件未关联至服务器,导致未更新。将关联的服务器上文件对它们进行替换即可。
12.文件夹有黄色叹号,进行CLEANUP 后出现如下提示:
。。。is not a working copy directory.
SOLUTION:删除该文件夹再重新下载
13. "plutommi\mmi\gui\gui_src\wgui_datetime.c", line 3534: Error: C2285E: expected ';' or ',' - inrted ';' before 'gui_clock_get_clock_show_time'
SOLUTION:在该函数前的语句忘了加分号“;”。
14. 命令语法不正
确。
make: *** [mtkapp.lib] Error 1
"plutommi\MtkApp\EngineerMode\EngineerModeSrc\EngineerModeDeviceSrc.c", line 8249: Error: C3028E: <argument 1 to 'sprintf'>: implicit cast of pointer to non-equal pointer
SOLUTION:一个函数形参为U8 *string,而实际赋给他的是char *buffer,导致类型不符,调用时进行强制转换:(PU8)dispbuff即可。
15.修改gsm2.mak 后进行remake ,报错,大意是缺少分隔符.
SOLUTION:察看修改的地方发现有一句不像其他语句一样开头空了几格,便将他开头空上几格后ok.
16. Fatal error: L6002U: Could not open file .\build\Z1118\gprs\MT6225o\lib\mercury_master.lib.
原因:出现此ERROR时,使用的是 r plutommi,改为全remake 后,问题解决
17.新增一些代码后,编模拟器通不过,查看LOG,
..\..\kal\include\kal_trace.h(237) : fatal error C1083: Cannot open include file: 'ps_trace.h': No such file or directory
app_asyncfile.c
原因:添加的\make\AS6200\下少加了个.def文件, 加上后OK
18. Error: L6286E: Value(0x400f84) out of range(-0x400000 - 0x3fffff) for relocation #1 (wrt symbol __rt_sdiv) in m11303.obj(INTERNCODE)
Error: L6286E: Value(0x400786) out of range(-0x400000 - 0x3fffff) for relocation #1 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400778) out of range(-0x400000 - 0x3fffff) for relocation #2 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400766) out of range(-0x400000 - 0x3fffff) for relocation #4 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400742) out of range(-0x400000 - 0x3fffff) for relocation #5 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
家里放什么招财SCAT文件中的代码分段,其中有的段超了。
19. make[1]: *** No rule to make target `custom\drv\misc_drv\mt6225_gemini_bb\codegen\eint_drv.h', needed by `eint_def.obj'. Stop.
20. make\gsm2.mak:1793: *** commands commence before first target. Stop.
21.进行remake 编译时,
F:\Z1801\Code\build\Z1801M\Z1801M_PCB01_gprs_MT6229_S02.MAUI_07B_W08_12_F2.bin\*, 是否确认(Y/N)?
将此目录删除后再remake ,OK!
////////////////////////////////////////////////////////////////////////////////////////////////////////////
1.Undefined symbol Image$$ZI$$Limit
Linking JIEKE25_GEMINI_PCB01_gprs_MT6225_S00.MBOX_V0_1 ...
2009/04/03 11:28:38
make: *** [JIEKE25_GEMINI_PCB01_gprs_MT6225_S00.MBOX_V0_1.bin] Error 1
打开MT6225.log 内容如下
Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o).播音主持排名
Not enough information to produce a SYMDEFs file.
Finished: 1 information, 65 warning and 1 error messages.
网上只有两种解释,是这样:
1. reimplement __ur_initial_stackheap()
解决办法大概意思是重新装配__ur_initial_stackheap()函数。
2.分配内存的时候,要分配内存的结构中使用了ARM不支持
的数据类型.通常定义了结构体的指针,然后用malloc分配空间时为结构体类型指针,而ARM不支持这种数据类型,所以会有这种错误。解决办法:用typedef预定义这个结构类型,使得编译器识别这种类型。
第一种方法离我太远,应该不会涉及到;
第二种方法试过,没用,但我也大概知道方向是malloc函数的问题。
今天终于解决:
开心图片这个问题是由于代码或者Lib中调用了 C Lib的malloc或者类似于strdup,printf 这样的会调用malloc的C Lib function 引起的。MTK Platform不支持 C lib的malloc,而用 Ctrl Buffer机制代替了malloc,以便于调试memory leak问题。MTK中的Osl层有专门处理内存的函数,于是我想,我用malloc是跳过Osl层直接分配内存,这样没有经过系统处理,危险性大。所以我用系统自带的OslMalloc和OslMfree来处理内存空间,问题解决。而我遇到的问题除了以上malloc,和printf外,还因为使用了fopen这类c lib文件操作函数。
以上均为网上所转,我是加了FS_OPEN之类的函数,屏蔽后,可链接成功。
打乒乓球日记
////////////////////////////////////////////////////////////////////////////////////////////////////////////
2.安装ADS 1.2的补丁,进行UNZIP,装到一半报错:can't open C:\Program Files\ARM\ADSv1_2\
从其他地方复制此文件后,又报can't open该路径下其他文件, 从其他地方复制整个BIN文件夹过来后,跑ADS1.2 补丁,OK!
////////////////////////////////////////////////////////////////////////////////////////////////////////////
3.对项目NEW 时,报 can't open ~MMI_features_check.obj
make: *** [mmi_feature_check] Error 2
安装ADS1.2 后问题解决。
////////////////////////////////////////////////////////////////////////////////////////////////////////////
4.ld: cannot open output file : Permission denied
make[1]: *** [] Error 1
文件的属性为只读,将其只读属性去掉后,OK!
////////////////////////////////////////////////////////////////////////////////////////////////////////////
5.
--------------------Configuration: MoDIS - Win32 Debug--------------------
赠别二首其二
media_app.lib(audioplayermsghandler.obj) : error LNK2001: unresolved external symbol _g_aud_ply_spectrum
media_app.lib(audioplayermsghandler.obj) : error LNK2001: unresolved external symbol _g_audply_spectrum_blocked
media_app.lib(audioplayermsghandler.obj) : error LNK2001: unresolved external symbol _g_audply_spectrum_valid
media_app.lib(audioplayermsghandler.obj) : error LNK2001: unresolved external symbol _mmi_audply_spectrum_display_stop
media_app.lib(audioplayermsghandler.obj) : error LNK2001: unresolved external symbol _mmi_audply_spectrum_display_start
: fatal error LNK1120: 5 unresolved externals
Error executing li
纤维英语<
< - 6 error(s), 0 warning(s)
以g_audply_spectrum_blocked为例,找到g_audply_spectrum_blocked定义所在的文件,在VC中右击该文件,选择compile 后,再 问题解决。
////////////////////////////////////////////////////////////////////////////////////////////////////////////
6.
6225_origin 未修改进行NEW,报错如下:
ld: crt2.o: No such file: No such file or directory
make[1]: *** [nvram_] Error 1
查询网上有人用gcc编程
PATH = F:\software\program\gcc\mingw\bin
在控制台中输入
F:\software\program\gcc\mingw\bin>gcc -o hello hello.c
报同样的错。
其解决方法为:在那个目录下,我删除后,重新解压(并换了mingwrt为普通版本,一开始用的是dev)就可以了
用BEYOND COMPARE 与 源代码比较发现tools\MinGW\lib\ 下少了不少文件,把相应文件复制过去后,OK
////////////////////////////////////////////////////////////////////////////////////////////////////////////
7.
最后生成BIN文档时,报很多函数Undefined symbol。原来是封装的LIB库少封装了一些文件,把少加的文件重新封装进LIB后这些问题解决。
但还是报三个错:
Error: L6218E: Undefined symbol mdi_audio_get_spectrum (referred from MBoxPlayerScreen.obj).
Error: L6218E: Undefined symbol mdi_audio_start_calc_spectrum (referred from MBoxPlayerScreen.obj).
Error: L6218E: Undefined symbol mdi_audio_stop_calc_spectrum (referred from MBoxPlayerScreen.obj).
原来这三人函数的定义被宏 #ifdef __MMI_AUDIO_SPECTRUM_DISPLAY__ 控制,打开此宏,但好像一直没编译到,就在打开处乱加点代码,报错,说明已经编译进去了,把乱加的关了,再编译,OK. 真TM怪~