2440 ce5.0下的eboot如何移植到ce6.0下?

hub128   2010-3-15 15:08 楼主
我将2440 ce5.0下的除了eboot外的其他部分移植到了ce6.0下,现在我想将eboot也进行移植,当拷贝到ce6.0下进行编译时出现下面错误:

BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000125:ERRORE] cs8900dbg.lib(cs8900dbg.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000126:ERRORE] smflash_lib.lib(fmd.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000127:ERRORE] fulllibc.lib(armsecgs.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000128:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000129:ERRORE] main.obj : error LNK2019: unresolved external symbol __security_cookie referenced in function SetIP
BUILD: [01:0000000130:ERRORE] eboot.lib(tftp.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000131:ERRORE] eboot.lib(dhcp.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000132:ERRORE] eboot.lib(edbg.obj) : error LNK2001: unresolved external symbol __security_cookie
BUILD: [01:0000000133:ERRORE] oal_memory_s3c2440a.lib(memory.obj) : error LNK2019: unresolved external symbol NKPhysToVirt referenced in function OALPAtoVA
BUILD: [01:0000000134:ERRORE] oal_memory_s3c2440a.lib(memory.obj) : error LNK2019: unresolved external symbol NKVirtToPhys referenced in function OALVAtoPA
BUILD: [01:0000000135:ERRORE] fulllibc.lib(armsecgs.obj) : error LNK2019: unresolved external symbol __report_gsfailure referenced in function __gsfailure
BUILD: [01:0000000136:ERRORE] fulllibc.lib(armsecgs.obj) : error LNK2019: unresolved external symbol __security_cookie_complement referenced in function __gsfailure
BUILD: [01:0000000137:ERRORE] E:\WINCE600\platform\smdk2440\target\ARMV4I\retail\eboot.exe : fatal error LNK1120: 5 unresolved externals
BUILD: [01:0000000142:ERRORE] EDITBIN : fatal error LNK1104: cannot open file 'E:\WINCE600\platform\smdk2440\target\ARMV4I\retail\eboot.exe'

如何解决?如何移植?

回复评论 (17)

问题可能出现在如下两行,修改后再试试看吧。
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2440a.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_cache_s3c2440a.lib \
点赞  2010-3-25 17:46
再顶一次!
点赞  2010-3-25 11:23
当时移植2410的时候没有碰到这个问题。
下面是2410的sources文件,你参考一下。
TARGETNAME=eboot
TARGETTYPE=PROGRAM
RELEASETYPE=PLATFORM
EXEENTRY=StartUp

WINCECPU=1
NOMIPS16CODE=1

INCLUDES=$(INCLUDES);$(_PUBLICROOT)\common\oak\drivers\block\msflashfmd\inc
ADEFINES=-pd "_TGTCPU SETS \"$(_TGTCPU)\"" $(ADEFINES)
CDEFINES= $(CDEFINES) -DPPSH_PROTOCOL_NOTIMEOUT -DCOREDLL
LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

TARGETLIBS= \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blmemory_arm.lib       \
    $(_PLATCOMMONLIB)\$(_CPUDEPPATH)\oal_cache_arm920t.lib      \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_kitl.lib               \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_log.lib                \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blnk.lib               \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blcommon.lib           \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\eboot.lib              \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\cs8900dbg.lib          \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ne2kdbg.lib            \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddk_io.lib             \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib             \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\smflashd_lib.lib       \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\dm9000dbg.lib         \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib           \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\bootpart_lib.lib      \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\s3c2410x_lcd_lib.lib  \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_displaylogo.lib   \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_rtc_s3c2410x.lib      


SOURCES= \
    startup.s   \
    util.s      \
    main.c      \
    debug.c     \
    ether.c     \
    flash.c     \
    am29lv800.c \
    nand.c

WINCETARGETFILES=BootImage
点赞  2010-3-25 17:44
没有移植过,帮顶!
点赞  2010-3-15 15:11
硬件没变化的话,5.0的EBOOT和6.0的NK甚至可以混合使用。
点赞  2010-3-15 15:42
我的sources文件如下:

TARGETNAME=eboot
TARGETTYPE=PROGRAM
RELEASETYPE=PLATFORM
EXEENTRY=StartUp

WINCECPU=1
NOMIPS16CODE=1

INCLUDES=$(INCLUDES);$(_PUBLICROOT)\common\oak\drivers\block\msflashfmd\inc;$(_TARGETPLATROOT)\Src\Common\Smartmedia\Fmd
ADEFINES=-pd "_TGTCPU SETS \"$(_TGTCPU)\"" $(ADEFINES)
CDEFINES=$(CDEFINES) -DPPSH_PROTOCOL_NOTIMEOUT -DCOREDLL
LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

TARGETLIBS= \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_memory_s3c2440a.lib  \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\oal_cache_s3c2440a.lib   \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_kitl.lib             \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_log.lib              \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blnk.lib             \
    $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_blcommon.lib         \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\bootpart.lib        \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\eboot.lib            \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\cs8900dbg.lib        \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ne2kdbg.lib          \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddk_io.lib           \
    $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\smflash_lib.lib     \
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib                  \

SOURCES= \
    startup.s   \
    util.s      \
    main.c      \
    debug.c     \
    ether.c     \
    flash.c     \
    usb.c                \
    usbs.s                \
    nand.cpp        \
    bitmap.c    \

WINCETARGETFILES=BootImage


有fulllibc.lib,没有gsnull.lib;
点赞  2010-3-16 09:11
在sources文件中加上$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib后,发现错误变少了,但是依然有如下错误:

BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000126:ERRORE] oal_memory_s3c2440a.lib(memory.obj) : error LNK2019: unresolved external symbol NKPhysToVirt referenced in function OALPAtoVA
BUILD: [01:0000000127:ERRORE] oal_memory_s3c2440a.lib(memory.obj) : error LNK2019: unresolved external symbol NKVirtToPhys referenced in function OALVAtoPA
BUILD: [01:0000000128:ERRORE] E:\WINCE600\platform\smdk2440\target\ARMV4I\retail\eboot.exe : fatal error LNK1120: 2 unresolved externals
BUILD: [01:0000000133:ERRORE] EDITBIN : fatal error LNK1104: cannot open file 'E:\WINCE600\platform\smdk2440\target\ARMV4I\retail\eboot.exe'


怎么办?
点赞  2010-3-17 17:15
自己顶一个,难道没有人遇到类似的问题吗?
点赞  2010-3-19 09:47
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2010-3-15 15:12
看看你的sources文件中是否有如下代码
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib

$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fulllibc.lib
点赞  2010-3-15 16:21
加上$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gsnull.lib
试试看。
点赞  2010-3-16 09:53
不会这个
点赞  2010-3-19 09:58
顶。我也遇到了,后来没解决放弃了。很多莫名其妙的link错误
点赞  2010-3-19 09:59
可能是引用的库文件的路径变化了
点赞  2010-3-19 10:30
BOOT没搞过
点赞  2010-3-19 15:16
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2010-3-19 15:44
我想移植,是因为我碰到烧写到SDRAM后,系统无法启动的问题,问题具体如下:
http://topic.eeworld.net/u/20100311/18/dc62fd0b-e2dc-443a-b972-414355eaac0f.html
请问luixing67,你是如何解决此问题的呢?


我想解决烧写到SDRAM的问题,是因为我碰到省电后无法唤醒的问题,问题具体如下:
http://topic.eeworld.net/u/20100311/19/f1f366ed-0760-4914-8140-c1cf6256e95b.html
请问luixing67,你是如何解决此问题的呢?
点赞  2010-3-22 16:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复