WinCE 7 BSP移植问题

Rain松 2011-08-17 09:22:15
把适用于WinCE6的BSP包移植到WinCE7上。
芯片为AT91SAM9263,ARM内核为ARM926EJ-S,开发板为英蓓特MBS-SAM9263。
在CE6选择ARMV4I,在CE7选择ARMv5
先打算让内核跑起来,EBOOT还是用原来CE6下编译的,BSP只编译OAL和KITL相关的部分,BootLoader和驱动都没有编译。
模板采用定制设备。
按照微软的文档《BSP Porting Guide for Windows Embedded Compact 7》和《Build Porting Guide for Windows Embedded Compact 7》的说明对BSP包进行了修改,主要是更新了sources文件内的一些路径相关的宏定义。
成功编译得到NK.bin文件和NK.nb0文件。
下载运行之后,根据串口调试信息,发现程序运行到
(OAL.EXE)Startup -> KernelStart ->(Kernel.dll)

(Kernel.dll)NKStartup -> OEMInitDebugSerial -> OEMInitDebugSerial(OAL.EXE)

(OAL.EXE)OEMInitDebugSerial -> GetMasterClock { RETAILMSG(1,(TEXT("Master Clock is %d Hz\r\n"),dwMasterClock)); }
-> ConfigureDBGU
即进入OEMInitDebugSerial函数初始化调试串口,成功调用GetMasterClock函数打印出一行信息之后,“程序中止”,过了10秒左右,程序复位并重新运行。

一直没有找到问题的根源,希望能够得到各位同道朋友的帮助!
...全文
1080 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wucia 2013-09-04
  • 打赏
  • 举报
回复
引用 8 楼 Loongson_Henda 的回复:
你好,我也碰到了类似的Build Failed ,只是我用的平台不同,是Freescale iMX53 for WinCE7.请问 楼主,这个问题你当时是怎么解决的? 拜求解答! ========================================================================= [quote=引用 4 楼 HanTangSongMing 的回复:] 在CE7下编译CE6 BSP的EBOOT出现了奇怪的错误: BUILD: [01:0000000565:INFO ] Creating library G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.lib and object G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exp BUILD: [01:0000000566:WARNN ] Warning(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\". BUILD: [01:0000000567:WARNN ] atmel_NandFlash.lib(NandFlash.obj) : warning LNK4217: locally defined symbol __rt_udiv imported in function FMD_Init BUILD: [01:0000000568:WARNN ] atmel_NandFlashEbootTools.lib(tools.obj) : warning LNK4049: locally defined symbol __rt_udiv imported BUILD: [01:0000000569:ERRORE] Error(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\". BUILD: [01:0000000570:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _set_fsr referenced in function FPE_Check BUILD: [01:0000000571:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _get_fsr referenced in function FPE_Check BUILD: [01:0000000572:ERRORE] fulllibc.lib(double_normalize.obj) : error LNK2001: unresolved external symbol _get_fsr BUILD: [01:0000000573:ERRORE] G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exe : fatal error LNK1120: 2 unresolved externals BUILD: [01:0000000574:ERRORE] NMAKE : fatal error U1077: 'G:\WINCE700\sdk\bin\i386\ARM\link.EXE' : return code '0x460' BUILD: [01:0000000575:INFO ] Stop. BUILD: [01:0000000576:ERRORE] TargetExeFiles -nologo BUILDMSG=Stop. BUILDROOT=G:\WINCE700\platform\AT91SAM9263EK_CLONE LINKONLY=1 NOPASS0=1 failed - rc = 2
[/quote] 你好,我也出现了类似的问题,请问你怎么解决的呀。。。
To_be_sky 2013-09-04
  • 打赏
  • 举报
回复
学习!学习移植!
xqhrs232 2013-06-12
  • 打赏
  • 举报
回复
这种移植难度很大啊!
zhengmeifu 2013-06-01
  • 打赏
  • 举报
回复
我現在也移植到EC7上,碰到USB问题
Rain松 2013-05-30
  • 打赏
  • 举报
回复
两年前的事了,WinCE很久没搞了,忘得差不多了,不好意思!
Loongson_Henda 2013-05-18
  • 打赏
  • 举报
回复
你好,我也碰到了类似的Build Failed ,只是我用的平台不同,是Freescale iMX53 for WinCE7.请问 楼主,这个问题你当时是怎么解决的? 拜求解答! =========================================================================
引用 4 楼 HanTangSongMing 的回复:
在CE7下编译CE6 BSP的EBOOT出现了奇怪的错误: BUILD: [01:0000000565:INFO ] Creating library G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.lib and object G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exp BUILD: [01:0000000566:WARNN ] Warning(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\". BUILD: [01:0000000567:WARNN ] atmel_NandFlash.lib(NandFlash.obj) : warning LNK4217: locally defined symbol __rt_udiv imported in function FMD_Init BUILD: [01:0000000568:WARNN ] atmel_NandFlashEbootTools.lib(tools.obj) : warning LNK4049: locally defined symbol __rt_udiv imported BUILD: [01:0000000569:ERRORE] Error(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\". BUILD: [01:0000000570:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _set_fsr referenced in function FPE_Check BUILD: [01:0000000571:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _get_fsr referenced in function FPE_Check BUILD: [01:0000000572:ERRORE] fulllibc.lib(double_normalize.obj) : error LNK2001: unresolved external symbol _get_fsr BUILD: [01:0000000573:ERRORE] G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exe : fatal error LNK1120: 2 unresolved externals BUILD: [01:0000000574:ERRORE] NMAKE : fatal error U1077: 'G:\WINCE700\sdk\bin\i386\ARM\link.EXE' : return code '0x460' BUILD: [01:0000000575:INFO ] Stop. BUILD: [01:0000000576:ERRORE] TargetExeFiles -nologo BUILDMSG=Stop. BUILDROOT=G:\WINCE700\platform\AT91SAM9263EK_CLONE LINKONLY=1 NOPASS0=1 failed - rc = 2
dengchonglin 2012-07-12
  • 打赏
  • 举报
回复
学习,最近也在弄 CE6 移植到 CE7
woshi_ziyu 2011-08-18
  • 打赏
  • 举报
回复
不懂 帮顶
Rain松 2011-08-17
  • 打赏
  • 举报
回复
OEMInitDebugSerial函数实现
//------------------------------------------------------------------------------
/// This function initializes the debug serial port of the AT91SAM9263
/// \return TRUE indicates success
/// \return FALSE indicates failure
BOOL OEMInitDebugSerial ()
{
DWORD dwMasterClock;
AT91PS_PIO pPIOA = OALPAtoVA((DWORD) AT91C_BASE_PIOA,FALSE);

if (g_pDBGU == NULL)
{
g_pDBGU = OALPAtoVA((DWORD) AT91C_BASE_DBGU,FALSE);
}

dwMasterClock = GetMasterClock(FALSE);

// Open PIO for DBGU
pPIOA->PIO_PDR = (AT91C_PC31_DTXD | AT91C_PC30_DRXD);
pPIOA->PIO_ASR = (AT91C_PC31_DTXD | AT91C_PC30_DRXD);

// Configure DBGU
ConfigureDBGU (
dwMasterClock, //
AT91C_US_ASYNC_MODE, // mode Register to be programmed
DBGU_BAUDRATE, // baudrate to be programmed
0); // timeguard to be programmed

//* Enable transmitter
g_pDBGU->DBGU_CR = AT91C_US_TXEN;
//* Enable receiver
g_pDBGU->DBGU_CR = AT91C_US_RXEN;

return TRUE;
}s
//------------------------------------------------------------------------------
qifeicv 2011-08-17
  • 打赏
  • 举报
回复
郁闷!还是没看懂
Rain松 2011-08-17
  • 打赏
  • 举报
回复
在CE7下编译CE6 BSP的EBOOT出现了奇怪的错误:
BUILD: [01:0000000565:INFO ] Creating library G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.lib and object G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exp
BUILD: [01:0000000566:WARNN ] Warning(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\".
BUILD: [01:0000000567:WARNN ] atmel_NandFlash.lib(NandFlash.obj) : warning LNK4217: locally defined symbol __rt_udiv imported in function FMD_Init
BUILD: [01:0000000568:WARNN ] atmel_NandFlashEbootTools.lib(tools.obj) : warning LNK4049: locally defined symbol __rt_udiv imported
BUILD: [01:0000000569:ERRORE] Error(s) in directory "G:\WINCE700\platform\AT91SAM9263EK_CLONE\SRC\BOOTLOADER\EBOOT\".
BUILD: [01:0000000570:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _set_fsr referenced in function FPE_Check
BUILD: [01:0000000571:ERRORE] fulllibc.lib(fpraise.obj) : error LNK2019: unresolved external symbol _get_fsr referenced in function FPE_Check
BUILD: [01:0000000572:ERRORE] fulllibc.lib(double_normalize.obj) : error LNK2001: unresolved external symbol _get_fsr
BUILD: [01:0000000573:ERRORE] G:\WINCE700\OSDesigns\AT91SAM9263EK_DEMO2\AT91SAM9263EK_DEMO2\Wince700\AT91SAM9263EK_CLONE_ARMV5_Retail\cesysgen\platform\AT91SAM9263EK_CLONE\target\ARMV5\retail\eboot.exe : fatal error LNK1120: 2 unresolved externals
BUILD: [01:0000000574:ERRORE] NMAKE : fatal error U1077: 'G:\WINCE700\sdk\bin\i386\ARM\link.EXE' : return code '0x460'
BUILD: [01:0000000575:INFO ] Stop.
BUILD: [01:0000000576:ERRORE] TargetExeFiles -nologo BUILDMSG=Stop. BUILDROOT=G:\WINCE700\platform\AT91SAM9263EK_CLONE LINKONLY=1 NOPASS0=1 failed - rc = 2
lijinyan3000 2011-08-17
  • 打赏
  • 举报
回复
顶一下。
虽然现在在折腾WinCE7,但是用的是原厂的CE7 BSP,拿来基本上就可以用了,主要是做一些小的删删改改,没有太多挑战。
向楼主学习!!
vieri32_inter 2011-08-17
  • 打赏
  • 举报
回复
说一下我的做法,是如何吧ce6下的bsp移植到ce7下,x86平台,没用过arm
1. CE7下CEPC clone一个bsp,试试能不能起来
2.在ce7下一步步吧ce6的bsp针对cepc的修改添加进来
边添加边试,添加之前想想要不要加,在ce6的一些问题ce7可能已经有改进
仅作参考。

顺便说一下,无论如何,不太赞成楼主用ce6下编译的eboot,有潜在的隐患。

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧