WinCE6.0 DEVICEEMULATOR BSP在GEC2410开发板上的移植(2)-FAT分区和HIVE注册表在Nand上的实现

FAT分区在Nand上的实现与CE5.0下的实现方法一样,请参考5.0实现的笔记:
http://blog.csdn.net/shevsten/archive/2010/03/04/5344716.aspx
需要注意的是需要包含Third Party-GEC2410-Storage Devices-PCI NAND Flash Driver组件.使能CE_MODULES_SDNPCID.否则相关设置不能被包括进去.
HIVE注册表也和CE5.0下的实现方法基本一样,请参考:
http://blog.csdn.net/shevsten/archive/2010/03/25/5415852.aspx

需要注意的是,在DEVICEEMULATOR BSP中有两个MSFlash的profile,一个是AMD Nor Flash,一个是Nand,我们的硬件上没有AMD Nor Flash,这方面的注册表设置不能被包括.
而Nand中的设置:
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MSFlash_NAND]

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/MSFlash_NAND]
我们需要改为
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MSFlash]

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/MSFlash]
否则会和common.reg中的设置有冲突,改成MSFlash后这样所有内容就覆盖原来的内容了,否则会显示2个Flash Disk(Flash Disk2).
还有一个是common.reg中设置了
[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/ObjectStore]
  "MountAsBootable"=dword:1
这样会出现在对象存储,也就是根目录下也出现注册表文件夹Documents and Settings(应该保存在flash里的)
最简单的办法就是在platform.reg中覆盖这个设置:
[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/ObjectStore]
  "MountAsBootable"=dword:0

以下是这两部分的注册表设置:
; @CESYSGEN IF FILESYS_FSREGHIVE
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE/init/BootVars]
   ;"Flags"=dword:1          ; see comment in common.reg
   "SystemHive"="Documents and Settings//system.hv"
   "ProfileDir"="Documents and Settings"
   "DefaultUser"="default"
   ;"Start DevMgr"=dword:1
   "Flags"=dword:3 ;equals to "Start DevMgr"=dword:1
   "RegistryFlags"=dword:1 ;auto flush system.hv
; END HIVE BOOT SECTION
; @CESYSGEN ENDIF FILESYS_FSREGHIVE

; HIVE BOOT SECTION
; @CESYSGEN IF CE_MODULES_SDNPCID

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/ObjectStore]
  "MountAsBootable"=dword:0
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/MSFlash]
        "Profile"="MSFlash"
        "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
        "Order"=dword:0
        "FriendlyName"="MSFLASH NAND Driver"
        "Dll"="smflash.dll"
        "Prefix"="DSK"
        ;"Ioctl"=dword:4     ;add
  ;"Flags"=dword:1000  ;add
  ;"BootPhase"=dword:0

[HKEY_LOCAL_MACHINE/System/StorageManager/AutoLoad/MSFlash]
    "DriverPath"="Drivers//BuiltIn//MSFlash"
    ; LoadFlags 0x01 == load synchronously
    "LoadFlags"=dword:1
    "Order"=dword:0
    "BootPhase"=dword:0
   
;IF FORMAT_STORAGE
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MSFlash]
    "DefaultFileSystem"="BINFS"
    "PartitionDriver"="mspart.dll"
    "MountAsROM"=dword:1
    "MountHidden"=dword:0
    "Folder"="Flash  Disk"
    "Name"="FLASH Disk Block Device"
    "AutoMount"=dword:1 
    "AutoPart"=dword:1  
    "AutoFormat"=dword:1

    ; Keep FATFS from trying to shadow /Windows
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MSFlash/FATFS]
    "MountAsROM"=dword:0
    "MountHidden"=dword:0  
    "MountAsBootable"=dword:1
    "Flags"=dword:00000014    ;FATFS_FORCE_WRITETHROUGH | FATFS_DISABLE_AUTOSCAN
    "EnableWriteBack"=dword:1
    "CheckForFormat"=dword:1

;ENDIF

; @CESYSGEN ENDIF CE_MODULES_SDNPCID
; END HIVE BOOT SECTION

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值