WinCE支持两种类型注册表:RAM-BasedHIVE-Based,默认使RAM-Based注册表。 1.RAM-Based注册表

  RAM-Based注册表所有注册表数据存储象存储(object store)存放RAM里面。有电池备份RAM系统面,说,当系统掉电以自动切换成电池供电,此时RAM还有供电,所以数据不丢失,这样采RAM-Based注册表非常有效。

  RAM-Based注册表于经常热启动(Warm Boot)设备面,冷启动(Cold Boot)设备面。

  2.HIVE-Based注册表

  HIVE-Based注册表注册表数据存成文掉电不丢失数据磁盘面,HIVE注册表被分成两部分:系统Hive户Hive,system.hvuser.hv。户系统包含户Hive,不同户Hive(user.hv)户登陆时候被加载,被注销时候卸载。

  实际HIVE-Based注册表包含三个部分,Hive,系统Hive户Hive,Boot.hv,system.hvuser.hv。Boot.hv主于系统引时候所需注册表设置,这部分设置不被保存磁盘面,说,系统掉电以丢失。实际,这部分应该说属于RAM-Based注册表,由于这部分数据不需改动,所以就无所谓。System.hv存放关于系统注册表设置,user.hv存放户相关注册表设置。

  们编译WinCE系统时候,Platform Builder根据platform.reg文注释标签判断哪些注册表设置放入boot.hv,凡注释标签”;HIVE BOOT SECTON””;END HIVE BOOT SECTION”设置都被放入boot.hv,其default.hvuser.hv

WinCE第次引时候,所有.hv都被放RAM,WinCE系统首先读boot.hv进行相关引时候设置,然default.hvuser.hv放磁盘指定路径面,这个路径注册表设置,然default.hv被重命名system.hv。当系统第二次启动时候,比较磁盘.hv.hv致,如果不致,拷贝磁盘.hv

  以看出,实际HIVE注册表运行时候RAM,这样速度比较快。启动时候从磁盘读出,户更改注册表以被保存磁盘,保存时机以设置以选择户更改立刻保存磁盘以选择reboot时候保存。

  3HIVE-Based注册表实现

  (1) 添加HIVE-Based注册表项

  系统支持HIVE-Based注册表”Catalog Item View”选择”Core OS”->”CEBASE”->”File System and Data Store”->”Registry Storage”->”Hive-based registry”,如图:

添加相应注册表设置,platform.reg添加HIVE相关设置,首先需添加HIVE注释标签,如

  ;HIVE BOOT SECTION

  …

  <your registry setting>

  …

  ;END BOOT SECTION

  所有HIVE有关注册表设置包括HIVE存放磁盘驱动相关设置都HIVE注释标签

  (3) 设置注册表存放位置:

  面通过个例子说明设置system.hvuser.hv存放位置

[HKEY_LOCAL_MACHINEinitBootVars]

           "SystemHive"="NandFlashsystem.hv"

           "ProfileDir"="NandFlashuser.hv"

           "Flags"=dword:1

           "RegistryFlags"=dword:1 

  “SystemHive”设置system.hv存放位置,这里存放NandFlash磁盘根目录面。

  “ProfileDir”设置user.hv存放位置,这里存放NandFlash磁盘根目录面。

  “Flags”设置否立刻启动Device Manager,主启动Hive-Based所需存储设备。

  “RegistryFlags”设置什么时候注册表设置入磁盘,这里表示立刻入。

  (4) 修改磁盘设备驱动配置

  相关磁盘驱动添加支持Hive设置,如

[HKEY_LOCAL_MACHINEDriversBuiltInNANDFlash]

          "Flags"=dword:1000

  由于Hive注册表被保存NandFlash,所以”Flags”设置添加NandFlash设备驱动注册表设置设置只有使HIVE-Based注册表时候需,如果不Hive注册表,需注释掉。

  (5) 添加Storage Manager相关配置

  具体添加如

[HKEY_LOCAL_MACHINESystemStorageManagerProfiles<ProfileName><FileSystemName>]

          "MountBootable"=dword:1

  同样,使HIVE注册表时候需述设置,如果不使HIVE注册表,则注释掉就

 曾经基于NandFlash支持Hive注册表设置,仅供参考:

; HIVE BOOT SECTION

[HKEY_LOCAL_MACHINEinitBootVars]

"SystemHive"="NANDFlashsystem.hv"  ;unmask this line to use flash

"ProfileDir"="NANDFlashusr.hv"

"Start DevMgr"=dword:1

"DefaultUser"="default"

"Flags"=dword:1

"RegistryFlags"=dword:1

[HKEY_LOCAL_MACHINESystemStorageManagerAutoLoadNSFlash]

"DriverPath"="DriversBuiltInNANDFlash"

"LoadFlags"=dword:1 "Order"=dword:0

[HKEY_LOCAL_MACHINEDriversBuiltInNANDFlash]

"Dll"="ep94xxnandflash.dll"

"Prefix"="DSK" "Order"=dword:0

;"Ioctl"=dword:4

"Profile"="NSFlash"

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

"Flags"=dword:1000 ;unmask this line when enable HIVE

;"MemBase"=dword:00000000   

;"MemLen"=dword:00000000

; Override names in default profile

[HKEY_LOCAL_MACHINESystemStorageManagerProfilesNSFlash]

"Name"="Ep94xx NAND Flash"

"Folder"="NANDFlash"

"PartitionDriver"="MSPart.dll"

"AutoMount"=dword:1

"AutoPart"=dword:1

"AutoFormat"=dword:1

"MountFlags"=dword:2 ;unmask this line when enable HIVE

[HKEY_LOCAL_MACHINESystemStorageManagerProfilesNSFlashFATFS]

"MountFlags"=dword:2 ;unmask this line when enable HIVE

"EnableCache"=dword:1

"CacheSize"=dword:1000

"MountBootable"=dword:1

"Flags"=dword:00000024

;"Flags"=dword:00680024

;"FormatTfat"=dword:1

"CheckForFormat"=dword:1

WinCE中的RAM-Based Registry与HIVE-Based Registry相关推荐

  1. 【转载】WinCE中的RAM-Based Registry与HIVE-Based Registry

    转载自:http://blog.csdn.net/nanjianhui/article/details/2550292 在WinCE中支持两种类型的注册表:RAM-Based和HIVE-Based,默 ...

  2. wince中的BSP工程的相关文件介绍

    一.pbcxml分析         每一个BSP都有一个工程文件,比如MyBSP.pbcxml,里面描述了BSP的信息.下面就来介绍一下BSP的pbcxml文件. 文件的大致格式应该是这样的: &l ...

  3. WinCE中的paging pool

    我们知道,在Config.bib配置中,RAM指定的内存区域会被划分为程序内存和对象存储.但在使用paging pool时,RAM段要减去paging pool的大小,剩余空间再划分为程序内存和对象存 ...

  4. 在WinCE中实现Screen Rotation(屏幕旋转)

    在WinCE中做Screen Rotation,首先确认显示设备的驱动是否支持Screen Rotation功能.在显示设备支持的前提下,可以通过以下两种方法做Screen Rotation: 1.通 ...

  5. wince中BIB文件的详细介绍

    wince中BIB文件的详细介绍 在WinCE中使用的一个重要的文件就是BIB文件,全称Binary Image Builder File.在WinCE的编译过程中会用到BIB文件,应该是在最后的Ma ...

  6. 关于WinNT和WinCE中使用NTP协议

    这篇文章是目前能搜索到的包括完整的代码及文档的最完整的Windows平台使用NTP的示例: NTP工作原理:(转自:http://blog.163.com/yzc_5001/blog/static/2 ...

  7. linux桌面旋转了180度,在WinCE中实现屏幕旋转 Screen Rotation962914325

    在WinCE中做Screen Rotation,首先确认显示设备的驱动是否支持Screen Rotation功能.在显示设备支持的前提下,可以通过以下两种方法做Screen Rotation: 1. ...

  8. WinCE中串口驱动及接口函数介绍(转载)

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

  9. 路由器中Rom/Ram/NVRAM/FLASH的区别

    路由器采用了以下几种不同类型的内存,每种内存以不同方式协助路由器工作. A.只读内存(ROM).  B.闪存(FLASH).  C.随机存取内存(RAM).  D.非易失性RAM(NVRAM). 1. ...

  10. wince中的hook(钩子)用法

    wince中的hook(钩子)用法 Hook(钩子)是一种在消息到达目标窗口前进行截获的技术.使用钩子主要使用以下三个函数SetWindowsHookEx:创建钩子 CallNextHookEx:将消 ...

最新文章

  1. leetcode 169. Majority Element
  2. php中退出怎么写,php中退出登录怎么写
  3. 计算机运维知识题库,(哭求哥哥姐姐帮助一下)计算机维护笔试题库(辛苦了)...
  4. 深入浅出Java多线程
  5. jQuery 属性和CSS
  6. C/C++求一个整数的二进制中1的个数(用三种效率不同的方法实现)
  7. Unity3d--跨平台(一)
  8. 移动云亮相 2021 IDC 年度盛典 共话变革与赋能
  9. 中国互联网的第二次“千团大战”已经开始了
  10. 超级经典的与其他语言混合编程的批处理代码
  11. eclipse中文版 中英文切换
  12. C功底挑战Java菜鸟入门概念干货(三)
  13. 计算机桌面图标损坏,win7系统的电脑桌面图标受到损坏要如何修复
  14. python炫彩界面_炫彩界面库和火花脚本编辑框scintilla制作python IDE框架
  15. DataPipeline王睿:业务异常实时自动化检测 — 基于人工智能的系统实战
  16. Unknown label type: ‘continuous
  17. (初学者)关于C语言中退格键(\b)的初步了解
  18. 调试: Rose逆向工程时死机.
  19. 视频资源网站采集-视频资源API采集教程
  20. 微信活码系统程序源码

热门文章

  1. leetcode 112路径总和
  2. mysql 数据库表锁死_mysql 数据库表被锁住了_Mysql数据库表锁死如何处理?
  3. 【Linux进程、线程、任务调度】一 Linux进程生命周期 僵尸进程的含义 停止状态与作业控制 内存泄漏的真实含义 task_struct以及task_struct之间的关系
  4. Linux 监控数据库资源占用
  5. 深入理解javascript函数参数
  6. c#重写了窗体的OnKeyDown事件,但是不执行
  7. gulp插件gulp-ruby-sass和livereload插件
  8. 基于FlashPaper的文档播放器
  9. EntiyFramework :Update model from database引起的两个问题
  10. 在WIN7下硬盘安装XP双系统