日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WinCE中的RAM-Based Registry与HIVE-Based Registry

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WinCE中的RAM-Based Registry与HIVE-Based Registry 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。