MDD+PDD+FMD架构 HIVE的实现

本文介绍了在Windows CE系统中,如何通过MDD+PDD+FMD架构实现Hive注册表在NAND Flash上的配置。步骤包括在工程catalog中添加Hive支持,设置环境变量PRJ_ENABLE_FSREGHIVE,修改注册表以支持Hive存储,并重新编译内核使配置生效。
摘要由CSDN通过智能技术生成

由于NANDFlash驱动使用的是MDD+PDD+FMD架构,用flashpart.dll进行分区,关于NAND的注册表内容特别不一样。在网上查询的以前成功的经验都没法使用,让我在这个上面花费了很长时间,不过也让我在这个时间了解了更多关于注册表,驱动,存储管理等等相关的基础知识。虽然很简单,但是是自己完成的第一个wince的任务。记录一下,鼓励激励我。最终实现实现hive过程如下:

1、  在工程文件catalog中,添加hive支持

选择 catalog-------Core OS------CEBASE-------File Systems and Data Store,添加如下两项

 

其中,Hive-based Registry 必选,而File System选择适合的一项。

2  添加环境变量PRJ_ENABLE_FSREGHIVE

         选择  project-------properties----------configuration properties---------Environment

         添加PRJ_ENABLE_FSREGHIVE=1.

         关于PRJ_ENABLE_FSREGHIVE为什么需要添加,可看common.reg寻找原因。

3、  修改注册表,添加注册表支持。

修改platform.regbootvars

        [HKEY_LOCAL_MACHINE/init/BootVars]

        "Start DevMgr"=dword:1

        "DefaultUser"="default"

        "Flags"=dword:1

"RegistryFlags"=dword:1

(对于system.hv以及user.hv采用common.reg设置)

    修改drivers安定storagemanager

    [HKEY_LOCAL_MACHINE/Drivers/BuiltIn/NAND_Flash]

        Flags"=dword:1000            

        (确保drivers在第一阶段并只在第一阶段被加载)

         [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDisk]

        "MountAsBootable"=dword:1

        (保证hive注册表存放在nandflash中)

    因为在common.reg中,添加环境变量PRJ_ENABLE_FSREGHIVE=1以后,会修改msflash以及HDProfile的选项,在platform.reg中添加修改如下

    [HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MSFlash]

            "MountAsBootable"=dword:0

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile]

            "MountAsBootable"=dword:0

最终,注册表相关表项如下

[HKEY_LOCAL_MACHINE/init/BootVars]

    "Start DevMgr"=dword:1

    "DefaultUser"="default"

    "Flags"=dword:1

    "RegistryFlags"=dword:1

 

[HKEY_LOCAL_MACHINE/System/StorageManager/EXFAT]

    "FormatExfat"=dword:0

 

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/FlashDisk]

    "Name"="NAND FLASH"

    "Folder"="NANDFlash"

    "AutoPart"=dword:1

    "AutoFormat"=dword:1

    "PartitionDriver"="flashpart.dll"

    "MountAsBootable"=dword:1

 

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/MSFlash]

    "MountAsBootable"=dword:0

[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile]

    "MountAsBootable"=dword:0

 

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/NAND_Flash]

    "Profile"="FlashDisk"

    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",

                     "{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}"

    "Order"=dword:0

    "FriendlyName"="Freescale NAND FLASH Driver"

    "Dll"="flashmdd.dll"

    "FlashPddDll"="flashpdd_nand.dll"

    "Prefix"="DSK"

    "Flags"=dword:1000

 

4、重新编译内核,即可生效。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值