none
FileSys failure in FSMapMemory in Windows CE 6 RRS feed

  • Question

  • Hi !

    I'm working on a BSP cloned  from Freescale iMx51 BSP.

    I have builded a Windows CE image from Platform Builder, but sometimes , the boot sequence stops when kernel tries to Map Filesys on RAM.

    I boot from SDCard and this is the debug log:


    Windows CE Kernel for ARM (Thumb Enabled) Built on Sep 25 2009 at 11:06:11
    ProcessorType=0c08  Revision=5
    OEMAddressTable = 80201534
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    OEMInit:  silicon reü= 0x20
    BoardID = 0x0.
    Clean boot
    OALIntrInit
    OALTimerInit
    OALPAtoUA
    KITLIoctl
    VFP_Init
    Exit VFP_Init
    Setting up softlog at 0x9bff8000 for 0x800 entries
    Booting Windows CE version 6.00 for (ARM)
    &pTOC = 83d5bc1c, pTOC = 83d42394, pTOC->ulRamFree = 83d60000, MemForPT = 00001000
    Configuring: Primary pages: 98917, Secondary pages: 0, Filesystem pages = 12364

    Booting kernel with clean memory configuration:
    Memory Sections:
    [0] : start: 83d62000, extension: 00031000, length: 18265000
    NKStartup done, starting up kernel.
    Windows CE KernelInit
    Reserve VM for kernel XIP DLls, first = c0010000, last = c1420000
    g_pprcNK == 0x83d59aa0
    Updated eptr->e32_vsize to = 0001f000
    Initializing Memory Mapped File Support
    Scheduling the first thread.
    Detecting VFP... VFP Found!
                               LoaderInit: Initialing loader
    Updated eptr->e32_vsize to = 0001f000
    Updated eptr->e32_vsize to = 000a3000
    PGPOOL: Reserved 768 pages for Loader pool
    PGPOOL: Reserved 256 pages for File pool
    Message Queue support initialized, g_hMsgQHeap = d0080010
    FSDMGR!DllMain: DLL_PROCESS_ATTACH
                                      CertMod.dll not found, using old OEM Trust Model
    FileSys failure in FSMapMemory

    Have you any ideas about this  ?

    Thank you
    Monday, December 19, 2011 11:45 AM

All replies

  • One possiblity is the RAM contains some corrupted data.
    Clean up the RAM first in boot loader before launch kernel should help.
    Or calls NKForceCleanBoot in OEMInit to force clean up object store.

    Monday, December 19, 2011 8:16 PM
  • Ok

    I tried to do NKForceCleanBoot on OEMInit but it doesn't work..

    It's better Clean Up the ram on XLDR or on EBOOT ?

    And How I can Clean Up the RAM , there is an API or I have to write a custom function ?

    Thank you


    • Edited by inkwaterman Tuesday, December 20, 2011 11:01 AM
    Tuesday, December 20, 2011 9:21 AM
  • In Eboot is better as it is the one loading NK.BIN and by parsing the TOC of NK.BIN, you can also get the information the range of RAM NK.BIN going to use.
    Regard to the API, as long as you know the range, zero out the RAM by memset should work.
    Tuesday, December 20, 2011 6:34 PM