dapli
驱动牛犊
驱动牛犊
  • 注册日期2007-04-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分411分
  • 威望52点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:3120回复:6

如何实现SD或CF卡注册表存储

楼主#
更多 发布于:2008-01-26 15:51
2440   WinCE5.0
目前已实现Flash注册表Hive存储,现在希望存储在SD卡中

存储在Flash中时的注册表是:
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
        "DriverPath"="Drivers\\BuiltIn\\MSFlash"
        "LoadFlags"=dword:1
        "BootPhase"=dword:0
        "Order"=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
        "Profile"="FlashDisk"
        "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
        "Order"=dword:0
        "Index"=dword:1
        "FriendlyName"="MSFLASH   Driver"
        "Dll"="smflash.dll"
        "Prefix"="DSK"
        "Flags"=dword:1000

可是SD驱动是分层的,驱动有多个
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC_SMDK2440]
        "Order"=dword:21
        "Dll"="sdhc_sc2440.dll"

;   SD   Memory   Storage   class   driver
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
      "Dll"="SDMemory.dll"
      "Prefix"="DSK"
      "BlockTransferSize"=dword:40     ;   send   no   more   than   64   blocks   of   data   per   bus   transfer
      "Profile"="SDMemory"
      "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
                                          "{A32942B7-920C-486b-B0E6-92A702A99B35}"

[HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]
      "Order"=dword:15
      "Dll"="SDBus.dll"
      "Prefix"="SDC"
      "ThreadPriority"=dword:64           ;   default   thread   priority   for   dispatch   thread
      "RequestListDepth"=dword:30       ;   pre-allocated   requests
      "IClass"=multi_sz:"{20FA98A8-B298-4b32-8D72-C716AEE2FA84}=%b","{6F40791D-300E-44E4-BC38-E0E63CA8375C}=%b"

难道我需要最开始时加载三个驱动
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SDMemory]        
        "DriverPath"=multi_sz:"Drivers\\BuiltIn\\SDHC_SMDK2440","Drivers\\SDCARD\\ClientDrivers\\Class\\MMC_Class","Drivers\\Builtin\\SDBusDriver"
        "LoadFlags"=dword:1
        "BootPhase"=dword:0
        "Order"=dword:0
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
   "Dll"="SDMemory.dll"
   "Prefix"="DSK"
   "BlockTransferSize"=dword:40  ; send no more than 64 blocks of data per bus transfer
   ;"SingleBlockWrites"=dword:1  ; alternatively force the driver to use single block access
   ;"IdleTimeout"=dword:7D0      ; 2000 milliseconds
   ;"IdlePowerState"=dword:2     ; 0 == D0, 1 == D1, etc.
   ;"DisablePowerManagement"=""  ; if value present, then disable (remove value to enable)

   "Profile"="SDMemory"
   "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
                     "{A32942B7-920C-486b-B0E6-92A702A99B35}"
    "Flags"=dword:1000 ;add nand flash gegister
    "Order"=dword:0
    "Index"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
    "Name"="SD Memory Card"
    "Folder"="Storage Card"
    "DefaultFileSystem"="FATFS"
    "PartitionDriver"="mspart.dll"
    "AutoPart"=dword:1
    "AutoMount"=dword:1
    "AutoFormat"=dword:1
    "MountAsRoot"=dword:1
    "BootPhase"=dword:0
    "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\FATFS]  
    ;"MountAsRoot"=dword:1
    ;"Flags"=dword:14
    "FormatTfat"=dword:1
    "CheckForFormat"=dword:1
    "MountAsBootable"=dword:1
    "Flags"=dword:1000

目前启动不起来
看到有人已经做过,多谢指点一下
三千水击,九万扶摇
游客

返回顶部