现在的位置: 首页 > 综合 > 正文

MDD+PDD+FMD架构 HIVE的实现

2013年10月31日 ⁄ 综合 ⁄ 共 2292字 ⁄ 字号 评论关闭

由于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、重新编译内核,即可生效。

抱歉!评论已关闭.