<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇Win CE 專區(qū)Wince技術(shù)討論區(qū) → 2440 5.0BSP 移植到wince6.0 過程


      共有5713人關(guān)注過本帖樹形打印

    主題:2440 5.0BSP 移植到wince6.0 過程

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
    2440 5.0BSP 移植到wince6.0 過程  發(fā)帖心情 Post By:2010-11-16 9:35:21

    編譯模擬器的精簡(jiǎn)版本,然后把模擬器的OAL相關(guān)的代碼進(jìn)行刪除,換成5.0BSP的代碼(把KITL相關(guān)的代碼刪除)并修改相應(yīng)的sources文件

    二、把C:\WINCE500\PLATFORM\SMDK2440A\Src\Common代替H:\WINCE600\PLATFORM\QxCE6BSP\SRC\Common
    C:\WINCE500\PLATFORM\SMDK2440A\Src\Inc代替H:\WINCE600\PLATFORM\QxCE6BSP\SRC\Inc

    三、編譯OAL的時(shí)候會(huì)調(diào)用H:\WINCE600\PLATFORM\QxCE6BSP\SRC\Common下的很多代碼生成的lib,所以我現(xiàn)在首先編譯H:\WINCE600\PLATFORM\QxCE6BSP\SRC\Common下面的所有代碼,在VS2005 上點(diǎn)中Common然后右鍵選擇“rebuild”,有錯(cuò)誤了(有錯(cuò)誤才是正常的,(*^__^*) 嘻嘻……)
    BUILD: [01:0000000039:WARNN ] H:\WINCE600\PLATFORM\QxCE6BSP\src\common\Intr\.\intr.c(387) : warning C4013: 'NKCallIntChain' undefined; assuming extern returning int
    BUILD: [01:0000000040圖片點(diǎn)擊可在新窗口打開查看ROGC ] Compiling .\fiq.c
    BUILD: [00:0000000045圖片點(diǎn)擊可在新窗口打開查看ROGC ] Building COMPILE Pass in H:\WINCE600\PLATFORM\QxCE6BSP\src\common\Intr_dvs\ directory.
    BUILD: [01:0000000055圖片點(diǎn)擊可在新窗口打開查看ROGC ] Compiling .\intr.c
    BUILD: [01:0000000058:WARNN ] H:\WINCE600\PLATFORM\QxCE6BSP\src\common\Intr_dvs\.\intr.c(637) : warning C4013: 'NKCallIntChain' undefined; assuming extern returning int
    (這個(gè)VS2005 唯一不好的地方就是編譯錯(cuò)誤不是紅色顯示的)
    出錯(cuò)地方
    // First find if IRQ is claimed by chain
            sysIntr = NKCallIntChain((UCHAR)irq);

    暈,上面僅僅是警告,但是估計(jì)也有問題。跑到Common下打開build.err看看,有錯(cuò)誤。
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000000469:ERRORE] fal.lib(falmain.obj) : error LNK2019: unresolved external symbol FMDHOOK_UnhookInterface referenced in function DSK_Deinit
    BUILD: [01:0000000470:ERRORE] fal.lib(falmain.obj) : error LNK2019: unresolved external symbol FMDHOOK_HookInterface referenced in function "void __cdecl GetFMDInterface(struct _DEVICE *)" (?GetFMDInterface@@YAXPAU_DEVICE@@@Z)
    BUILD: [01:0000000471:ERRORE] H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\smflash.dll : fatal error LNK1120: 2 unresolved externals


    怎么回事呢?
    Src\Common\Smartmedia\Dll中的sources文件修改
    在SOURCELIBS語句段中原有的兩個(gè)庫(kù)的基礎(chǔ)上增加下面的庫(kù)
    $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fmdhooklib.lib \
    之后又有新的錯(cuò)誤了。

    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000000423:ERRORE] H:\WINCE600\PLATFORM\QxCE6BSP\src\common\Smartmedia\Dll\sources(10) :  U1033: syntax error : '$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\fal.lib' unexpected
    BUILD: [01:0000000425:ERRORE] NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=H:\WINCE600\PLATFORM\QxCE6BSP CLEANBUILD=1 LINKONLY=1 NOPASS0=1 failed - rc = 2

    暈倒,把sources換成ztg0021的那個(gè)就好了!

    繼續(xù)編譯。
    BUILD: [01:0000000030:ERRORE] H:\WINCE600\PLATFORM\QxCE6BSP\src\oal\OALLIB\.\init.c(55) : error C2065: 'dwNKDrWatsonSize' : undeclared identifier

    暈倒我的沒有extern DWORD dwNKDrWatsonSize;會(huì)提示dwNKDrWatsonSize未定義錯(cuò)誤,加上就好了,但是ztg0021的卻要屏蔽
    extern DWORD dwNKDrWatsonSize 才行的。希望等下不要出亂子。

    =================================使用ztg0021的改動(dòng)OALEXE下面的sources導(dǎo)致好多錯(cuò)誤=============================
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000000056:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol pQueryPerformanceCounter
    BUILD: [01:0000000057:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol pQueryPerformanceFrequency
    BUILD: [01:0000000058:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol curridlehigh
    BUILD: [01:0000000059:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol idleconv
    BUILD: [01:0000000060:ERRORE] oal.lib(intr.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000061:ERRORE] oal_ioctl_s3c2440a.lib(reboot.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000062:ERRORE] oal.lib(args.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000063:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000064:ERRORE] oal_intr_s3c2440a.lib(intr.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000065:ERRORE] oal_rtc_s3c2440a.lib(rtc.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000066:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000067:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol dwReschedTime
    BUILD: [01:0000000068:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol CurMSec
    BUILD: [01:0000000069:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOn referenced in function OEMPowerOff
    BUILD: [01:0000000070:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOff referenced in function OEMPowerOff
    BUILD: [01:0000000071:ERRORE] oal_rtc_s3c2440a.lib(rtc.obj) : error LNK2019: unresolved external symbol SC_SetLastError referenced in function OALIoCtlHalInitRTC
    BUILD: [01:0000000072:ERRORE] oal.lib(init.obj) : error LNK2019: unresolved external symbol OALKitlStart referenced in function OEMInit
    BUILD: [01:0000000073:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol dwNKDrWatsonSize
    BUILD: [01:0000000074:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol CEProcessorType
    BUILD: [01:0000000075:ERRORE] oal.lib(ioctl.obj) : error LNK2001: unresolved external symbol OALIoCtlVBridge
    BUILD: [01:0000000076:ERRORE] H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe : fatal error LNK1120: 14 unresolved externals
    BUILD: [01:0000000081:ERRORE] EDITBIN : fatal error LNK1104: cannot open file 'H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe'

    再次編譯OALLib,莫名出現(xiàn)錯(cuò)誤        3        Error: Found NULL or missing TOC pointer for nk.exe        ?記得剛才是沒有錯(cuò)誤了的,真是郁悶。

    重新編譯整個(gè)OAL

    build.err變成
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000000127:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol pQueryPerformanceCounter
    BUILD: [01:0000000128:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol pQueryPerformanceFrequency
    BUILD: [01:0000000129:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol curridlehigh
    BUILD: [01:0000000130:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol idleconv
    BUILD: [01:0000000131:ERRORE] oal.lib(intr.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000132:ERRORE] oal_ioctl_s3c2440a.lib(reboot.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000133:ERRORE] oal.lib(args.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000134:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000135:ERRORE] oal_intr_s3c2440a.lib(intr.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000136:ERRORE] oal_rtc_s3c2440a.lib(rtc.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000137:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol g_oalLogMask
    BUILD: [01:0000000138:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol dwReschedTime
    BUILD: [01:0000000139:ERRORE] oal_timer_s3c2440a.lib(timer.obj) : error LNK2001: unresolved external symbol CurMSec
    BUILD: [01:0000000140:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOn referenced in function OEMPowerOff
    BUILD: [01:0000000141:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOff referenced in function OEMPowerOff
    BUILD: [01:0000000142:ERRORE] oal_rtc_s3c2440a.lib(rtc.obj) : error LNK2019: unresolved external symbol SC_SetLastError referenced in function OALIoCtlHalInitRTC
    BUILD: [01:0000000143:ERRORE] oal.lib(init.obj) : error LNK2019: unresolved external symbol OALKitlStart referenced in function OEMInit
    BUILD: [01:0000000144:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol dwNKDrWatsonSize
    BUILD: [01:0000000145:ERRORE] oal.lib(init.obj) : error LNK2001: unresolved external symbol CEProcessorType
    BUILD: [01:0000000146:ERRORE] oal.lib(ioctl.obj) : error LNK2001: unresolved external symbol OALIoCtlVBridge
    BUILD: [01:0000000147:ERRORE] H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe : fatal error LNK1120: 14 unresolved externals
    BUILD: [01:0000000152:ERRORE] EDITBIN : fatal error LNK1104: cannot open file 'H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe'

    參照ztg0021的帖子修改之后重新編譯BSP下的Common,最后導(dǎo)致錯(cuò)Error: Found NULL or missing TOC pointer for nk.exe        ?這是怎么回事呢?

    現(xiàn)在整個(gè)BSP一起編譯,還會(huì)出現(xiàn)如下錯(cuò)誤,原因是KITL相關(guān)東西我現(xiàn)在還沒有加上去。
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000000557:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOn referenced in function OEMPowerOff
    BUILD: [01:0000000558:ERRORE] oal_power_s3c2440a.lib(off.obj) : error LNK2019: unresolved external symbol OALKitlPowerOff referenced in function OEMPowerOff
    BUILD: [01:0000000559:ERRORE] oal.lib(init.obj) : error LNK2019: unresolved external symbol OALKitlStart referenced in function OEMInit
    BUILD: [01:0000000560:ERRORE] H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe : fatal error LNK1120: 3 unresolved externals
    BUILD: [01:0000000565:ERRORE] EDITBIN : fatal error LNK1104: cannot open file 'H:\WINCE600\platform\QxCE6BSP\target\ARMV4I\debug\oal.exe'



    屏蔽上述代碼后,編譯整個(gè)BSP,天啊,居然成功了,NK.bin和NK.nb0生成了。
    下載到我的產(chǎn)品。暈!,LCD可以看見畫面了!
    串口信息如下。

    Windows CE Kernel for ARM (Thumb Enabled) Built on Nov 24 2008 at 14:58:23
    ProcessorType=0920  Revision=0
    OEMAddressTable = 8022a8d0
    DCache: 8 sets, 64 ways, 32 line size, 16384 size
    ICache: 8 sets, 64 ways, 32 line size, 16384 size
    Error Reporting Memory Reserved, dump size = 00020000
    Setting up softlog at 0x836cc000 for 0x800 entries
    Booting Windows CE version 6.00 for (ARM)
    &pTOC = 805a1c1c, pTOC = 80247b04, pTOC->ulRamFree = 805a6000, MemForPT = 00001000

    Old or invalid version stamp in kernel structures - starting clean!
    Configuring: Primary pages: 12573, Secondary pages: 0, Filesystem pages = 6286

    Booting kernel with clean memory configuration:
    Memory Sections:
    [0] : start: 805a8000, extension: 00007000, length: 0311d000
    NKStartup done, starting up kernel.
    Windows CE KernelInit
    Reserve VM for kernel XIP DLls, first = c0010000, last = c02b0000
    g_pprcNK == 0x8059faa0
    Updated eptr->e32_vsize to = 00036000
    Initializing Memory Mapped File Support
    Scheduling the first thread.
    Detecting VFP... VFP Not Found!
    LoaderInit: Initialing loader
    Updated eptr->e32_vsize to = 00036000
    Updated eptr->e32_vsize to = 000a2000
    Updated eptr->e32_vsize to = 00010000
    PGPOOL: Reserved 768 pages for Loader pool
    PGPOOL: Reserved 256 pages for File pool
    OSAXST0: Platform Name = PLATFORM_TYPE
    OSAXST1: >>> Loading Module 'kd.dll' (0x836B087C) at address 0xC0010000-0xC0045000 in Process 'NK.EXE' (0x8059FAA0)
    KD: Starting kernel debugger software probe (KdStub) - KD API version 22
    OSAXST1: >>> Loading Module 'NK.EXE' (0x8059FAA0) at address 0x80200000-0x80236000 in Process 'NK.EXE' (0x8059FAA0)
    Message Queue support initialized, g_hMsgQHeap = d0080010
    OSAXST1: >>> Loading Module 'filesys.dll' (0x8368B648) at address 0xC0180000-0xC0216000 in Process 'NK.EXE' (0x8059FAA0)
    OSAXST1: >>> Loading Module 'k.fpcrt.dll' (0x8368B780) at address 0xC0160000-0xC0178000 in Process 'NK.EXE' (0x8059FAA0)
    OSAXST1: >>> Loading Module 'fsdmgr.dll' (0x8368B8C8) at address 0xC0260000-0xC02A6000 in Process 'NK.EXE' (0x8059FAA0)
    FSDMGR!DllMain: DLL_PROCESS_ATTACH
    CertMod.dll not found, using old OEM Trust Model
    FileSystem Starting - starting with clean file system
    FSDMGR!STOREMGR_Initialize
    FSDMGR!InitializeStoreAPI
    FSDMGR!MountTable_t::RegisterVolumeName: Registered "StoreMgr" at index 2FSDMGR!MountTable_t::RegisterVolume: Registered volume at index 2 (Name="StoreMgr", MountFlags=0x1)FSDMGR!InitializeROMFileSystem: File System=ROM
    OSAXST1: >>> Loading Module 'romfsd.dll' (0x83674B70) at address 0xC0220000-0xC0227000 in Process 'NK.EXE' (0x8059FAA0)
    FSDMGR!MountTable_t::RegisterVolumeName: Registered "ROM" at index 3FSDMGR!MountTable_t::RegisterVolume: Registered volume at index 3 (Name="ROM", MountFlags=0x71)FSVOL: Opening existing volume
    FSVOL: Volume heap already initialized
    FSREG: Mounted ROM portion of boot registry
    FSVOL: Creating clean virtual volume
    FSVOL: Initializing volume heap
    FSREG: Mounted RAM portion of boot registry
    FS: Creating signal event ReleaseFSD
    FSREG: Unable to read value "Start DevMgr" under HKEY_LOCAL_MACHINE\init\BootVars
    FILESYS: Starting boot phase 0.
    FSDMGR!STOREMGR_StartBootPhase BootPhase=0 (PrevBootPhase=-1)
    FSDMGR: File security disabled.
    FSDMGR!AutoLoadFileSystems: CurrentBootPhase=0, LoadFlags=1
    FSDMGR!AutoLoadFileSystem: CurrentBootPhase=0, RootKey=System\StorageManager\AutoLoad, FileSystem_t=ObjectStore
    FSDMGR!PNPThread: Using PNPUnloadDelay of 4096
    FSDMGR!PNPThread: PNPThread starting!
    FILESYS: RAM File System FSD_MountDisk registering folder "Object Store"
    FSDMGR!MountTable_t::RegisterVolumeName: Registered "Object Store" at index 4FSDMGR!MountTable_t::RegisterVolume: Registered volume at index 4 (Name="", MountFlags=0x46)FILESYS:

    支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    2440 5.0BSP 移植到wince6.0 過程








    簽名
    主站蜘蛛池模板: 阿v免费在线观看| 亚洲欧美视频一区| 黄色免费网站网址| 性一交一乱一伦一色一情| 亚洲色国产欧美日韩| 99re在线视频精品| 成人三级在线观看| 亚洲av永久无码| www.sifangpian| 成年丰满熟妇午夜免费视频| 国产手机在线αⅴ片无码观看| 国产一区美女视频| 91精品久久久久| 女人战争之肮脏的交易| 久久婷婷国产综合精品| 欧美性xxxxx极品娇小| 国产91无套剧情在线播放| 高潮插的我好爽再干噢在线欢看| 奇米四色7777| 久久精品国产精品亚洲色婷婷| 欧美性猛交XXXX乱大交3| 午夜视频在线在免费| 青青操免费在线视频| 国产精品视频网| 一区二区手机视频| 成年美女黄网站18禁免费| 亚洲av无码专区在线播放| 欧美大香a蕉免费| 免费A级毛片无码无遮挡| 精品无码av无码专区| 国产在线视频99| 2022国产成人精品视频人| 国内精品久久人妻互换| 中文字幕亚洲区| 日本无卡无吗在线| 亚洲午夜精品久久久久久人妖 | 高清国产av一区二区三区| 大学生男男澡堂69gaysex| 中文字幕免费视频| 无码办公室丝袜OL中文字幕| 亚洲AV无码国产精品麻豆天美|