<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Windows CE的注冊表在線(xiàn)修改及保存

基于Windows CE的注冊表在線(xiàn)修改及保存

作者: 時(shí)間:2012-08-27 來(lái)源:網(wǎng)絡(luò ) 收藏

引言:

本文引用地址:http://dyxdggzs.com/article/148537.htm

作為一種嵌入式的操作系統,已經(jīng)有了10多年的歷史,從最早的1.0版本到如今的最新的6.0版本。 已經(jīng)在嵌入式操作系統領(lǐng)域占據了非常重要的地位,同時(shí)還派生出了很多不同的版本,應用到不同的領(lǐng)域, Mobilej就是其中非常成功的一個(gè)版本。

作為一種嵌入式操作系統,我們有必要了解它的啟動(dòng)過(guò)程和加載機制,特別是其中的加載是系統加載的核心。Windows 內核創(chuàng )建過(guò)程用的REG文件幾乎和其他桌面版本W(wǎng)indows操作系統就有相同的格式,只是去掉了文件頂部的版本標記,防止開(kāi)發(fā)者錯誤的將Windows CE的信息添加到主機的系統里,造成系統的故障。

1、 Windows CE注冊表簡(jiǎn)介:

與其他桌面版本W(wǎng)indows一樣,Windows CE也使用注冊表(RegiSTry)來(lái)應用程序、驅動(dòng)程序和用戶(hù)的設定以及其他一些配置信息。 Windows CE注冊表也采用樹(shù)形結構來(lái)管理配置信息。

Windows CE支持四個(gè)根鍵,描述如下:

鍵名描述

HKEY_LOCAL_MACHINE 硬件和驅動(dòng)配置數據

HKEY_CURRENT_USER 用戶(hù)配置數據

HKEY_CLASSES_ROOT OLE 文件類(lèi)型匹配配置數據

HKEY_USERS 適用于所有用戶(hù)的數據

2、 Windows CE注冊表的類(lèi)型和加載過(guò)程

由于嵌入式系統的特點(diǎn),一些嵌入式設備是沒(méi)有外部存存儲設備。因此Windows CE的注冊表提供了兩種實(shí)現方式:RAM的注冊表(RAM- Based Registry)和Hive的注冊表(Hive-Based Registry)。我們可以選擇在Windows CE中使用任何一種注冊表,通常在我們的ARM嵌入式系統中會(huì )選擇Flash作為外部存儲設備,所以我們選擇Hive的注冊表類(lèi)型。下面我們分析一下Windows CE注冊表的加載過(guò)程:

圖2-1

nk.exe執行,啟動(dòng)filesys.exe。

filesys.exe加載引導HIVE,此時(shí)引導HIVE位于nk.bin解壓之后的文件中。

filesys.exe啟動(dòng)device.exe,之后處于等待狀態(tài),等待device.exe將包含系統HIVE的文件系統和存儲設備的驅動(dòng)程序加載完畢。而這個(gè)文件系統和存儲設備的驅動(dòng)程序存在于引導HIVE中。device.exe加載上述所說(shuō)的文件系統驅動(dòng)程序和存儲設備驅動(dòng)程序,使之開(kāi)始工作。之后device.exe處于等待狀態(tài)。filesys.exe被喚醒,加載并且安裝系統HIVE。之后filesys.exe處于等待狀態(tài)。nk.exe按照系統HIVE的信息開(kāi)始執行初始化工作。其中包括加載驅動(dòng)程序和啟動(dòng)一些應用程序。其中加載驅動(dòng)程序一般由device.exe執行,而啟動(dòng)應用程序由filesys.exe執行。這時(shí)device.exe和filesys.exe已經(jīng)被喚醒。

3 、設置基于HIVE的注冊表

在PB中加入Hive-based Registry,實(shí)驗平臺:CPU:S3C2410;外部存儲設備(Flash)K9F1208UOM 打開(kāi)%BSP%/Files/platform.reg,找到如下信息:

; HIVE BOOT SECTION

[HKEY_LOCAL_MACHINEinitBootVars]

SystemHIVE=system.hv

; PROFILEDIR=Documents and Settings

Start DevMgr=dword:1

RegistryFlags=dword:1

[HKEY_LOCAL_MACHINEinitBootVars]

DefaultUser=default SYSTEMHIVE的值為系統HIVE文件的路徑。Start DevMgr是一個(gè)布爾值,指示是否開(kāi)始就執行設備管理器device.exe,只有想把系統HIVE存儲在對象存儲中才在此設置為0,所以這里我們要設置為1??梢栽谏鲜龅淖员砦恢孟螺斎隓efaultUser=,指定默認的用戶(hù)名。如果是單用戶(hù)系統,可以不設置在“; HIVE BOOT SECTION”和“; END HIVE BOOT SECTION”之間的所有驅動(dòng)程序的注冊表信息中都加入下列一個(gè)標志:

Flags=dword:1000

這個(gè)標志是一個(gè)位掩碼,它可以和其它已經(jīng)存在的Flags或運算。值1000表示此驅動(dòng)程序只加載一次,這樣device.exe就不會(huì )把當前驅動(dòng)程序加載兩次了。

保證將包含系統HIVE的文件系統驅動(dòng)程序的注冊表信息和存儲設備的驅動(dòng)程序的注冊表信息被包含在“; HIVE BOOT SECTION”和“; END HIVE BOOT SECTION”之間,在這兩個(gè)語(yǔ)句之間的注冊表數據全部屬于引導HIVE。

[HKEY_LOCAL_MACHINESystemStorageManagerAutoLoadFlashDrv]

DriverPath=DriversBlockDeviceFlashDrv

LoadFlags=dword:1

MountFlags=dword:11

BootPhase=dword:0

Flags=dword:1000

[HKEY_LOCAL_MACHINEDriversBlockDeviceFlashDrv]

Prefix=DSK

Dll=FLASHDRV.dll //調用Flash驅動(dòng)

Order=dword:0

Ioctl=dword:4

Profile=FlashDrv

FriendlyName=MS Flash Driver

MountFlags=dword:11

BootPhase=dword:0

Flags=dword:1000

; Bind BINFS to the block driver

[HKEY_LOCAL_MACHINESystemStorageManagerProfilesFlashDrv]

DefaultFileSystem=BINFS //建立BINFS文件系統

PartitionDriver=mspart.dll

AutoMount=dword:1

AutoPart=dword:1

MountFlags=dword:2

Folder=MYFlashDisk //實(shí)現可以讀寫(xiě)的文件夾

NAME=Microsoft Flash Disk

BootPhase=dword:0

Flags=dword:1000

上面的信息添加到platform.reg的“HIVE BOOT SECTION”和“END HIVE BOOT SECTION”之間, 其中Folder=MYFlashDisk文件實(shí)現可以讀寫(xiě)文件目錄MYFlashDisk


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>