调试 wince6.0 multi-bin 遇到的问题

123456ds   2010-6-2 17:26 楼主
最近在弄 wince6.0的multi-bin遇到了一些问题,想请教一下:
在BSP中我的config.bib是这样设置的:
MEMORY

        XIPKERNEL        80200000  002FF000  RAMIMAGE
        CHAIN                804FF000  00001000  RESERVED
        NK                80500000  01F00000  NANDIMAGE
        RAM                80500000  03C00000  RAM
        FLASH                92000000  00100000  RESERVED

; Common RAM areas
        AUD_DMA                80002000  00000800  RESERVED
        SDIO_DMA                 80010000  00010000  RESERVED
        ARGS                80020800  00000800  RESERVED
        DBGSER_DMA        80022000  00002000  RESERVED
        SER_DMA                80024000  00002000  RESERVED
        IR_DMA                80026000  00002000  RESERVED
        SLEEP                80028000  00002000        RESERVED
        EDBG                80030000  00020000  RESERVED
        DISPLAY                80100000  00100000  RESERVED   
CONFIG

        AUTOSIZE=ON
        COMPRESSION=ON
        DLLADDR_AUTOSIZE=ON
        KERNELFIXUPS=ON
        PROFILE=OFF
        RAM_AUTOSIZE=OFF
        ROMFLAGS=0
        ROM_AUTOSIZE=OFF
        XIPSCHAIN=804FF000

MODULES
        nk.exe          $(_FLATRELEASEDIR)\oal.exe                  XIPKERNEL SHZ
         kernel.dll      $(_FLATRELEASEDIR)\kern.dll                 XIPKERNEL SHZ
         coredll.dll     $(_FLATRELEASEDIR)\coredll.dll              XIPKERNEL SH
        k.coredll.dll   $(_FLATRELEASEDIR)\k.coredll.dll            XIPKERNEL SHMK
        oalioctl.dll    $(_FLATRELEASEDIR)\oalioctl.dll             XIPKERNEL SHK
        filesys.dll     $(_FLATRELEASEDIR)\filesys.dll              XIPKERNEL SHK
        fsdmgr.dll      $(_FLATRELEASEDIR)\fsdmgr.dll                     XIPKERNEL SHMK
        mspart.dll      $(_FLATRELEASEDIR)\mspart.dll                     XIPKERNEL SHK
        romfsd.dll      $(_FLATRELEASEDIR)\romfsd.dll                     XIPKERNEL SHK
        binfs.dll               $(_FLATRELEASEDIR)\binfs.dll                     XIPKERNEL SHK
        fpcrt.dll       $(_FLATRELEASEDIR)\fpcrt.dll                XIPKERNEL SH
        k.fpcrt.dll     $(_FLATRELEASEDIR)\fpcrt.dll                XIPKERNEL SHMK
        ceddk.dll       $(_FLATRELEASEDIR)\ceddk.dll                XIPKERNEL SHQ
        device.dll      $(_FLATRELEASEDIR)\device.dll               XIPKERNEL SHMK
        udevice.exe     $(_FLATRELEASEDIR)\udevice.exe              XIPKERNEL SHM
        devmgr.dll      $(_FLATRELEASEDIR)\devmgr.dll               XIPKERNEL SHMK
        regenum.dll     $(_FLATRELEASEDIR)\regenum.dll              XIPKERNEL SHK
        busenum.dll     $(_FLATRELEASEDIR)\busenum.dll              XIPKERNEL SHK
        pm.dll               $(_FLATRELEASEDIR)\pm.dll                     XIPKERNEL SHMK
        smflash.dll     $(_FLATRELEASEDIR)\smflash.dll              XIPKERNEL SHK
FILES
    boot.hv                $(_FLATRELEASEDIR)\boot.hv                  XIPKERNEL SH
    wince.nls                $(_FLATRELEASEDIR)\wince.nls                XIPKERNEL SHU

platform.reg中是这样设置的:
; HIVE BOOT SECTION
IF IMGHIVEREG
[HKEY_LOCAL_MACHINE\Init\BootVars]
        "Flags"=dword:3
        "RegistryFlags"=dword:1
ENDIF

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
        "21"="BINFS"

[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
        "Folder"="BINFS"
        "FriendlyName"="Bin FileSystem"
        "Dll"="binfs.dll"
        "Paging"=dword:1
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
;      ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
        "MountFlags"=dword:11;10
        "BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NANDFLASH]
        "Prefix"="DSK"
        "Dll"="smflash.dll"
        "Index"=dword:1
        "Order"=dword:0
        "Profile"="NANDFLASH"
        "IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
IF IMGHIVEREG
        "Flags"=dword:1000
ENDIF

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\NANDFLASH]
        "DriverPath"="Drivers\\BuiltIn\\NANDFLASH"
        "LoadFlags"=dword:1                        ; load synchronously
        "BootPhase"=dword:0
IF IMGHIVEREG
        "MountAsBootable"=dword:1                ; for Hive-based registry
ENDIF

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NANDFLASH]
        "DefaultFileSystem"="BINFS"
        "PartitionDriver"="mspart.dll"
        "Name"="Microsoft Flash Disk"
        "AutoMount"=dword:1 ;--czx
        "AutoPart"=dword:1
        "AutoFormat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NANDFLASH\BINFS]
        "MountHidden"=dword:1
        "MountAsROM"=dword:1
        "Folder"="BinFS"
        "MountPermanent"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NANDFLASH\FATFS]
        "FormatExfat"=dword:1
        "Flags"=dword:14                                ; deprecated in CE6.0 (0x4 : FATFS_DISABLE_AUTOSCAN, 0x10 : FATFS_ENABLE_BACKUP_FAT)
        "DisableAutoScan"=dword:1
        "CheckForFormat"=dword:1
        "EnableWriteBack"=dword:1
        "Folder"="ResidentFlash"
        "MountAsRoot"=dword:1                ; for ROM-only file system
IF IMGHIVEREG
        "MountAsBootable"=dword:1                ; for Hive-based registry
ENDIF

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\NANDFLASH\Filters\CacheFilt]
        "Dll"="cachefilt.dll"
        "LockIOBuffers"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\NANDFLASH\FATFS\Filters\CacheFilt]
        "Dll"="cachefilt.dll"
        "LockIOBuffers"=dword:1

; END HIVE BOOT SECTION

这样设置后,编译出XIPKERNEL.bin 和 xip.bin 但下载到板子上运行的结果是:
Windows CE Kernel for ARM (Thumb Enabled) Built on Oct 20 2009 at 18:39:19
+OEMInit
DCache: 8 sets, 64 ways, 32 line size, 16384 size
ICache: 8 sets, 64 ways, 32 line size, 16384 size
+OALArgsInit()
Arguments area has some values
-OALArgsInit()
+OALIntrInit.
+OALInterruptInit
-OALInterruptInit(rc = 1)
-OALIntrInit.
-OEMInit
到这里就停了,本应该接着是nand flash的初始化了,可就是没有运行nand flash相关东西,这是哪里的问题呢?

回复评论 (7)

如果不用multi-bin的话,系统能正常运行的.
点赞  2010-6-2 17:39
真的是到nand驱动了吗?感觉不到为何nand驱动加载不成功该有的都有了~帮顶
点赞  2010-6-3 19:16
最近也在调试multi-bin,但是我是挂在flash初始化后,楼主QQ是多少?我们可以交流下!
另外最好弄个debug版本来调试,这样可以看到很多调试信息
点赞  2010-6-4 09:11
呵呵,问题解决了。原来是config.bib配置错了
点赞  2010-6-4 10:30
把RAM 80500000 03C00000 RAM  
改成
RAM 80500000 03B00000 RAM  
就OK了
我的QQ:1293106329
点赞  2010-6-4 10:33
结帖送分啦~~~
点赞  2010-6-4 16:59
做个记号学习了.
点赞  2010-6-5 10:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复