zoukankan      html  css  js  c++  java
  • WINCE应用BINFS

     

    ********************************LoongEmbedded********************************

    作者:LoongEmbedded(kandi)

    时间:2012.03.02

    类别:WINCE系统开发

    ********************************LoongEmbedded********************************

    1.    BINFS概述

    BINFS(Binary ROM Image File System)是可以读取由Romimage.exe生成的.bin文件的二进制ROM镜像文件系统。.bin文件格式以具体的section来组织数据,每section有一个section头,此部分包含这section的开始地址、长度和检验码,见下图:

     

    图1

    Romimage.exe把逻辑section,比如一个应用程序的text或是.data区域的数据写到.bin文件中。

    为了能在块驱动(block driver)的上层加载BINFS,我们必须在storage profile注册表项下面加入(enter)块驱动相应的注册表键,如下所示,下面的示例注册表信息表示我们可以增加自己块驱动的storage profile来指定BINFS为默认的文件系统。

    ; Bind BINFS to the block driver

    [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFlash]

           "DefaultFileSystem"="BINFS"

           "PartitionDriver"="mspart.dll"

           "AutoMount"=dword:1

           "AutoPart"=dword:1

           "MountFlags"=dword:11

           "Folder"="ResidentFlash"

           "Name"="Samsung Flash Disk"

           "BootPhase"=dword:0

              

    [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFlash\BINFS]

        "MountHidden"=dword:1

    "MountAsROM"=dword:1

    2.    如何应用(implemnet)BINFS

    我们可以应用BINFS在NAND或NOR闪存上来读取.bin文件。BINFS为最终的用户(end user)解析每个区域(比如xipkernel,nk.bin).bin文件的记录(record),为了使用BINFS,我