wince5.0 BSP移植到wince6.0过程讨论(S3C2440A)有经验的请进!
本人参照ztg0021和googleman的博文,开始了wince5.0 BSP移植到wince6.0的工作,把KITL和OAL有移植好了,进展很慢,编译过程出现下面的错误:
BUILD: [00:0000000068:WARNN ] C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\: Missing source file: C:\WINCE600\public\common\oak\lib\ARMV4I\debug\nk.lib.
BUILD: [00:0000000069:WARNN ] C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\: Missing source file: C:\WINCE600\platform\MYSMDK2440A\lib\ARMV4I\debug\smflash_lib.lib.
BUILD: [00:0000000087:PROGC ] Building LINK Pass in C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\ directory.
BUILD: [01:0000000099:ERRORE] NMAKE : U1073: don't know how to make 'C:\WINCE600\OSDesigns\SS\SS\Wince600\MYSMDK2440A_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\nk.lib'
BUILD: [01:0000000101:ERRORE] NMAKE.EXE TargetExeFiles -i -c BUILDMSG=Stop. BUILDROOT=C:\WINCE600\PLATFORM\MYSMDK2440A LINKONLY=1 NOPASS0=1 failed - rc = 2
按理我移植的地方,没有包含nk.lib啊,去都按照ztg0021,替换了。请网友帮我解决一下。先谢谢!
引用: 引用 17 楼 wlc311 的回复:
引用 12 楼 xilidecai 的回复:
首先,你说的有点乱,我知道你的大概意思,你先按照ztg的调,GM也是在此基础上进行修改的,然后你在参考GM的。不要搞混,最万能的方法是参考MSDN,上面有的,我记得在KITL的时候就是看MSDN进行移植的。
其次,这个我做了,你先把OAL的调通,再考虑KITL,然后再接着往下考虑!
最后,还有什么问题再和我交流。当然了,我还在进行中!
兄……
汗 啊!
天天都不知道干啥子了,呵呵~~~发现自己过去很是浮躁啊!
你在忙什么呢?好久没有你的消息了·~~
我没有家KITL时候出现这样的
BUILD: [00:0000000060:WARNN ] H:\WINCE600\PLATFORM\QxCE6BSP\src\KITL\: Missing source file: H:\WINCE600\OSDesigns\Try2440CE6\Try2440CE6\Wince600\QxCE6BSP_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\kitl.lib.
BUILD: [Thrd:Sequence:Type ] Message
BUILD: [01:0000000100:ERRORE] NMAKE : U1073: don't know how to make 'H:\WINCE600\OSDesigns\Try2440CE6\Try2440CE6\Wince600\QxCE6BSP_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\kitl.lib'
BUILD: [01:0000000102:ERRORE] NMAKE.EXE TargetExeFiles -i -c BUILDMSG=Stop. BUILDROOT=H:\WINCE600\PLATFORM\QxCE6BSP CLEANBUILD=1 LINKONLY=1 NOPASS0=1MAKEDLL=1 failed - rc = 2
看见你改是
TARGETLIBS= \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\kitlcore.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkstub.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\oemstub.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_abort_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_cache_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\oal_io_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_intr_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_timer_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_power_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_rtc_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_ioctl_s3c2440a.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_io.lib \
$(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_other.lib \
$(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_log.lib \
$(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_kitl.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_ethdrv_cs8900a.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddk_io.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\vbridge.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\kitl.lib \汗是这个没有删除掉。自己给自己打包,不错才怪
$(_TARGETPLATROOT)\src\common\kitlusbser\kitlusbser_lib.lib \
$(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\smflash_lib.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib
在我那没有找到这个SOURCE啊
后来我就添加KITL,没有出现上面错误,就出现下面的错误了
BUILD: [00:0000000068:WARNN ] C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\: Missing source file: C:\WINCE600\public\common\oak\lib\ARMV4I\debug\nk.lib.
BUILD: [00:0000000069:WARNN ] C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\: Missing source file: C:\WINCE600\platform\MYSMDK2440A\lib\ARMV4I\debug\smflash_lib.lib.
BUILD: [00:0000000087:PROGC ] Building LINK Pass in C:\WINCE600\PLATFORM\MYSMDK2440A\Src\KITL\ directory.
BUILD: [01:0000000099:ERRORE] NMAKE : U1073: don't know how to make 'C:\WINCE600\OSDesigns\SS\SS\Wince600\MYSMDK2440A_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\nk.lib'
BUILD: [01:0000000101:ERRORE] NMAKE.EXE TargetExeFiles -i -c BUILDMSG=Stop. BUILDROOT=C:\WINCE600\PLATFORM\MYSMDK2440A LINKONLY=1 NOPASS0=1 failed - rc = 2
我现在有点乱,还是按照你说,一步步来做
就先OAL吧
在fileview栏选中OAL所在的目录,然后build current project就行了
或者是在dir文件中把OAL的文件夹提前一点
引用: 引用 9 楼 veabol 的回复:
在fileview栏选中OAL所在的目录,然后build current project就行了
或者是在dir文件中把OAL的文件夹提前一点
这样让它提前编译吗
首先,你说的有点乱,我知道你的大概意思,你先按照ztg的调,GM也是在此基础上进行修改的,然后你在参考GM的。不要搞混,最万能的方法是参考MSDN,上面有的,我记得在KITL的时候就是看MSDN进行移植的。
其次,这个我做了,你先把OAL的调通,再考虑KITL,然后再接着往下考虑!
最后,还有什么问题再和我交流。当然了,我还在进行中!
nk.lib——注意编译顺序,估计这个你没有生成。
OALEXE下source
TARGETNAME=oal
TARGETTYPE=PROGRAM
RELEASETYPE=PLATFORM
SYNCHRONIZE_DRAIN=1
NOMIPS16CODE=1
EXEENTRY=StartUp
LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO
NOLIBC=1
SOURCES=
TARGETLIBS= \
$(_TARGETPLATROOT)\lib\$(_CPUDEPPATH)\oal.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkstub.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\nkldr.lib \
$(_COMMONOAKROOT)\lib\$(_CPUDEPPATH)\oemmain.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_abort_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_cache_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_timer_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_intr_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_power_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_rtc_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_ioctl_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_profiler_s3c2440a.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_io.lib \
$(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_other.lib \
$(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_log.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib
OALLIB下source
TARGETNAME=oal
TARGETTYPE=LIBRARY
RELEASETYPE=PLATFORM
NOMIPS16CODE=1
CDEFINES=$(CDEFINES) -DCEDDK_USEDDKMACRO
!IF "$(BSP_USEDVS)" == "1"
CDEFINES=$(CDEFINES) -DDVS_EN
!ENDIF
!IF "$(BSP_KITL)" == "SERIAL_UART0"
CDEFINES=$(CDEFINES) -DKITL_SERIAL_UART0
!ENDIF
!IF "$(BSP_KITL)" == "SERIAL_UART1"
CDEFINES=$(CDEFINES) -DKITL_SERIAL_UART1
!ENDIF
!IF "$(BSP_KITL)" == "USBSERIAL"
CDEFINES=$(CDEFINES) -DKITL_USBSERIAL
!ENDIF
!IF "$(BSP_KITL)" == "ETHERNET"
CDEFINES=$(CDEFINES) -DKITL_ETHERNET
!ENDIF
SOURCES=\
args.c \
init.c \
intr.c \
ioctl.c \
debug.c \
power.c \
ARM_SOURCES=\
startup.s
这里应该都没有包含NK。LIB啊
我不加LCD驱动,BSP的dir直接就包含oal,这样创建OS进行编译是吗
PCBXML ,platform.reg ,platform.BIB一些想关驱动的东西都要去掉吗
还是直接在dir不包含,就不会编译了
引用: 引用 9 楼 veabol 的回复:
在fileview栏选中OAL所在的目录,然后build current project就行了
或者是在dir文件中把OAL的文件夹提前一点
我一般看OAL在DIR都在最后面,没有nk.lib是它影响的吗
PCBXML 里ITEM的环境变量是怎么定啊
我想添加驱动的ITEM时候,环境变量怎么添啊
高手给点意见
引用: 引用 12 楼 xilidecai 的回复:
首先,你说的有点乱,我知道你的大概意思,你先按照ztg的调,GM也是在此基础上进行修改的,然后你在参考GM的。不要搞混,最万能的方法是参考MSDN,上面有的,我记得在KITL的时候就是看MSDN进行移植的。
其次,这个我做了,你先把OAL的调通,再考虑KITL,然后再接着往下考虑!
最后,还有什么问题再和我交流。当然了,我还在进行中!
很感谢你
好问题才请教你,我在编译OAL,在看看
引用: 引用 12 楼 xilidecai 的回复:
首先,你说的有点乱,我知道你的大概意思,你先按照ztg的调,GM也是在此基础上进行修改的,然后你在参考GM的。不要搞混,最万能的方法是参考MSDN,上面有的,我记得在KITL的时候就是看MSDN进行移植的。
其次,这个我做了,你先把OAL的调通,再考虑KITL,然后再接着往下考虑!
最后,还有什么问题再和我交流。当然了,我还在进行中!
兄弟,是不是整天看球赛呀,你已经搞了2,3个月了- -!