KITL移植续
直接添加HFKR的KITL文件夾,直接編譯以下幾個錯誤:
NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\mini2440\lib\ARMV4I\debug\s3c2440a_args.lib'
刪除$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c2440a_args.lib \這個靜態庫,
接著編譯產生如下問題:
NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\mini2440\lib\ARMV4I\debug\nandflash_lib.lib'
接著刪除:??? $(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\nandflash_lib.lib? \這個靜態庫
繼續編譯,產生錯誤:
kitl.obj : error LNK2019: unresolved external symbol OALArgsQuery referenced in function OEMKitlStartup
接著將DEVICEEMULATOR中的ARGS.C復制到KITL文件目錄下,在SOURCE中添加ARGS.H文件,并將INC目錄下的ARGS,H進行相應的更換,重新編譯
KITL,錯誤如下:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000045:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(109) : error C2065:
'BSP_BASE_REG_PA_CS8900A_IOBASE' : undeclared identifier
BUILD: [01:0000000046:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(130) : error C2065: 'OAL_ARGS_QUERY_UPDATEMODE'
: undeclared identifier
BUILD: [01:0000000047:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(130) : error C2051: case expression not constant
清理,并進行重新全部編譯,錯誤如下:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000045:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(109) : error C2065:
'BSP_BASE_REG_PA_CS8900A_IOBASE' : undeclared identifier
BUILD: [01:0000000046:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(130) : error C2065: 'OAL_ARGS_QUERY_UPDATEMODE'
: undeclared identifier
BUILD: [01:0000000047:ERRORE] D:\WINCE600\PLATFORM\mini2440\src\kitl\.\args.c(130) : error C2051: case expression not constant
估計還是args.c文件的問題,這次換成6.0的args.c再試試!
先編譯KITL,錯誤如下:
?NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\mini2440\lib\ARMV4I\debug\oal_memory_s3c2440a.lib'
繼續刪除:??? $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2440a.lib \
接著編譯,錯誤一下子成了5個,啥情況?
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000120:ERRORE] kitlser.obj : error LNK2019: unresolved external symbol OALPAtoVA referenced in function
S3C2440UART_Init
BUILD: [01:0000000121:ERRORE] kitlusbser.obj : error LNK2001: unresolved external symbol OALPAtoVA
BUILD: [01:0000000122:ERRORE] kitl.obj : error LNK2001: unresolved external symbol OALPAtoVA
BUILD: [01:0000000123:ERRORE] kitlusbser_lib.lib(kitlusbser.obj) : error LNK2001: unresolved external symbol OALPAtoVA
BUILD: [01:0000000124:ERRORE] D:\WINCE600\platform\mini2440\target\ARMV4I\debug\kitl.dll : fatal error LNK1120: 1 unresolved
externals
整體編譯,這次要過不了,我就把周六的KITL移植過來重新編譯,哦想起來了,INC下的args.c是DEVICEEMULATOR的,不是HFRK的,等下編譯完
成后,換過來再試試。
換成HFRK的args.c以后,重新編譯還是有錯:
BUILD: [01:0000000120:ERRORE] kitlser.obj : error LNK2019: unresolved external symbol OALPAtoVA referenced in function
S3C2440UART_Init
BUILD: [01:0000000121:ERRORE] kitlusbser.obj : error LNK2001: unresolved external symbol OALPAtoVA
BUILD: [01:0000000122:ERRORE] kitl.obj : error LNK2001: unresolved external symbol OALPAtoVA
BUILD: [01:0000000123:ERRORE] kitlusbser_lib.lib(kitlusbser.obj) : error LNK2001: unresolved external symbol OALPAtoVA
出現在哪呢?不管了換成周六編譯的吧,看看啥情況?
暈!!!!!居然成功了,而且只有26個警告,太帥了!
哈哈~~~~
貼出來下:
Compacting bin file...
Done!
makeimg: Check for D:\WINCE600\OSDesigns\OSDesign6\OSDesign6\RelDir\mini2440_ARMV4I_Debug\PostRomImage.bat to run.
makeimg: Check for D:\WINCE600\OSDesigns\OSDesign6\OSDesign6\RelDir\mini2440_ARMV4I_Debug\PostMakeImg.bat to run.
makeimg: Change directory to D:\WINCE600.
makeimg: run command: cmd /C D:\WINCE600\public\common\oak\misc\pbpostmakeimg
?驅動器 D 中的卷沒有標簽。
?卷的序列號是 ECD7-86D2
?D:\WINCE600\OSDesigns\OSDesign6\OSDesign6\RelDir\mini2440_ARMV4I_Debug 的目錄
2009-11-02? 11:34???????? 3,575,923 NK.bin
?????????????? 1 個文件????? 3,575,923 字節
?????????????? 0 個目錄 20,886,196,224 可用字節
BLDDEMO: OSDesign6 build complete.
OSDesign6 - 0 error(s), 26 warning(s)
========== 生成: 1 成功或最新,0 失敗,0 被跳過 ==========
下午接著搞,按照周六的思路...呵呵~~~
以下接著周六的思路繼續往下走:
1.??? 加上$(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\nandflash_lib.lib? \靜態庫,果然有錯誤啊,兩個:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000104:ERRORE] NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\Micro2440
\lib\ARMV4I\debug\nandflash_lib.lib'
BUILD: [01:0000000106:ERRORE] NMAKE.EXE TargetExeFiles? -i -c BUILDMSG=Stop.? BUILDROOT=D:\WINCE600\PLATFORM\Micro2440
CLEANBUILD=1 LINKONLY=1 NOPASS0=1MAKEDLL=1 failed - rc = 2
2.加上$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c2440a_args.lib \這個靜態庫
還是這兩個錯誤:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000104:ERRORE] NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\Micro2440
\lib\ARMV4I\debug\nandflash_lib.lib'
BUILD: [01:0000000106:ERRORE] NMAKE.EXE TargetExeFiles? -i -c BUILDMSG=Stop.? BUILDROOT=D:\WINCE600\PLATFORM\Micro2440
CLEANBUILD=1 LINKONLY=1 NOPASS0=1MAKEDLL=1 failed - rc = 2
刪除第一個靜態庫,重新編譯,還是兩個錯誤,和周六早上的錯誤一樣:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000104:ERRORE] NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\Micro2440
\lib\ARMV4I\debug\s3c2440a_args.lib'
BUILD: [01:0000000106:ERRORE] NMAKE.EXE TargetExeFiles? -i -c BUILDMSG=Stop.? BUILDROOT=D:\WINCE600\PLATFORM\Micro2440
CLEANBUILD=1 LINKONLY=1 NOPASS0=1MAKEDLL=1 failed - rc = 2
難道這兩個靜態庫真的不能加?
在上步的基礎之上,將DEVICEEMULATOR目錄下的args.h文件復制到Micro目錄下并進行覆蓋,肯定有錯,早上好像這種思路嘗試過,現在看看有
沒有更改的余地:
BUILD: [Thrd:Sequence:Type? ] Message
BUILD: [01:0000000455:ERRORE] NMAKE :? U1073: don't know how to make 'D:\WINCE600\platform\Micro2440
\lib\ARMV4I\debug\s3c2440a_args.lib'
BUILD: [01:0000000457:ERRORE] NMAKE.EXE TargetExeFiles? -i -c BUILDMSG=Stop.? BUILDROOT=D:\WINCE600\PLATFORM\Micro2440
LINKONLY=1 NOPASS0=1MAKEDLL=1 failed - rc = 2
在KITL目錄下,將$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c2440a_args.lib \這個靜態庫刪除,看下啥反應,應為現在的情況和早上的情
況有點類似,也只有26個警告。期待...
果然成功!但是居然有3099個警告,費解!
如果,我再將INC下的args.h文件換回去結果如何呢?接著,將早上成功的INC文件下的args.h文件復制到Micro文件中相應位置并進行覆蓋,結
果如下:成功,但是警告只有845個。
D:\WINCE600\OSDesigns\OSDesign3\OSDesign3\RelDir\Micro2440_ARMV4I_Debug 的目錄
2009-11-02? 16:19???????? 3,379,543 NK.bin
?????????????? 1 個文件????? 3,379,543 字節
?????????????? 0 個目錄 20,881,526,784 可用字節
BLDDEMO: OSDesign3 build complete.
OSDesign3 - 0 error(s), 845 warning(s)
========== 生成: 1 成功或最新,0 失敗,0 被跳過 ==========
不知道咋回事,先mark,以后慢慢了解吧!
呵呵,畢竟都成功了嘛!
KITL這個事情,先放到這里吧,畢竟也花費了不少時間,至于CS8900A還是DM9000,這個問題也很重要,給我點時間先放在這里,以后我會回來
解決的!接下來的這段時間繼續移植LCD,TOUCH,FMD,等等還有好多呢。
?
轉載于:https://www.cnblogs.com/Torres_fans/archive/2009/11/02/1594642.html
總結
- 上一篇: 教育部的新部长
- 下一篇: 什么是类、对象、方法、属性、类的成员