********************************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,我