Windows Embedded CE嵌入式操作系統(tǒng)支持兩種不同的注冊(cè)表類(lèi)型:RAM-based注冊(cè)表和Hive-based注冊(cè)表。
RAM-based注冊(cè)表將所有注冊(cè)表信息保存在對(duì)象存儲(chǔ)(object store)中,對(duì)象存儲(chǔ)可以看作是WinCE系統(tǒng)在內(nèi)存中永久的虛擬RAM磁盤(pán),因此要保存注冊(cè)表信息,需要把注冊(cè)表轉(zhuǎn)存到具有掉電保護(hù)的RAM介質(zhì)中,為此CE提供了轉(zhuǎn)存及恢復(fù)注冊(cè)表的底層函數(shù)。如果沒(méi)有對(duì)注冊(cè)表進(jìn)行這樣的轉(zhuǎn)存及恢復(fù),則系統(tǒng)總是使用缺省的注冊(cè)表。
Hive-based注冊(cè)表將注冊(cè)表數(shù)據(jù)存儲(chǔ)為文件,注冊(cè)表文件可以存儲(chǔ)在任何文件系統(tǒng)中。將注冊(cè)表存儲(chǔ)在非易失的存儲(chǔ)介質(zhì)上(比如Flash),就不需要類(lèi)似RAM-based注冊(cè)表的備份與恢復(fù)操作。
RAM-based注冊(cè)表通常用在總是使用熱啟動(dòng),很少甚至從不冷啟動(dòng)的系統(tǒng)中,Windows Embedded CE6.0及以后版本,默認(rèn)采用Hive-based注冊(cè)表,英創(chuàng)公司的WinCE系列工控主板默認(rèn)使用Hive-based注冊(cè)表,注冊(cè)表文件存儲(chǔ)在NandFlash中。
WinCE在系統(tǒng)啟動(dòng)過(guò)程中會(huì)在注冊(cè)表里添加信息,最典型的就是在注冊(cè)表中生成驅(qū)動(dòng)的Active 項(xiàng),如果是Hive-based注冊(cè)表,則意味著WinCE在整個(gè)啟動(dòng)過(guò)程中會(huì)不停寫(xiě)盤(pán),在大多數(shù)情況下這沒(méi)有任何問(wèn)題,但如果系統(tǒng)使用環(huán)境供電不穩(wěn)定,在系統(tǒng)啟動(dòng)過(guò)程中頻繁斷電,則有可能導(dǎo)致注冊(cè)表?yè)p壞。而對(duì)RAM-based注冊(cè)表,每次系統(tǒng)啟動(dòng)時(shí)都會(huì)將內(nèi)核中的默認(rèn)注冊(cè)表加載到RAM中,系統(tǒng)啟動(dòng)過(guò)種中生成的注冊(cè)表信息也寫(xiě)在RAM中,因此不會(huì)有注冊(cè)表被寫(xiě)壞的問(wèn)題。所以從啟動(dòng)的可靠性來(lái)看,RAM-based的注冊(cè)表方式優(yōu)于Hive-based注冊(cè)表方式。
為了提高主板的可靠性,我們?cè)贐SP中增加了支持RAM-based注冊(cè)表的底層轉(zhuǎn)存及恢復(fù)功能。所設(shè)計(jì)的轉(zhuǎn)存及恢復(fù)功能,主要是針對(duì)那些在實(shí)際的應(yīng)用中,必須保存的相關(guān)信息。比如觸摸屏較準(zhǔn)參數(shù),網(wǎng)絡(luò)參數(shù)等。為此我們對(duì)內(nèi)核進(jìn)行了更新,新的內(nèi)核在采用RAM-based注冊(cè)表同時(shí),也能保存一些必要的注冊(cè)表數(shù)據(jù)。
英創(chuàng)WinCE RAM-based注冊(cè)表版本內(nèi)核目前能保存以下注冊(cè)表信息:
注冊(cè)表功能 | 注冊(cè)表 | |
1 | 觸摸屏校準(zhǔn)參數(shù) |
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] 'CalibrationData'='' |
2 | 網(wǎng)絡(luò)1參數(shù) |
[HKEY_LOCAL_MACHINE\Comm\ENET1\Parms\TcpIp] 'EnableDHCP'=dword:0 'UseZeroBroadcast'=dword:0 'DefaultGateway'='192.168.201.19' 'IpAddress'='192.168.201.213' 'Subnetmask'='255.255.255.0' 'DNS'='61.139.2.69' |
3 | 網(wǎng)絡(luò)2參數(shù) |
[HKEY_LOCAL_MACHINE\Comm\ENET2\Parms\TcpIp] 'EnableDHCP'=dword:0 'UseZeroBroadcast'=dword:0 'DefaultGateway'='192.168.201.19' 'IpAddress'='192.168.201.213' 'Subnetmask'='255.255.255.0' 'DNS'='61.139.2.69' |
3 | 系統(tǒng)語(yǔ)言設(shè)置 |
[HKEY_LOCAL_MACHINE\MUI] 'SysLang'=dword:804 [HKEY_LOCAL_MACHINE\MUI] 'DefaultLCID'=dword:804 [HKEY_CURRENT_USER\MUI] 'CurLang'=dword:804 |
表1
使用RAM-based注冊(cè)表時(shí),無(wú)論是由控制面板、遠(yuǎn)程注冊(cè)表工具或通過(guò)程序代碼直接修改了上面例出的注冊(cè)表項(xiàng)后,都需要調(diào)用RegFlushKey函數(shù)才能真正保存注冊(cè)表信息。下面是示例代碼:
HKEY hOpenKey;
// 打開(kāi)任意注冊(cè)表鍵
RegOpenKeyEx (HKEY_LOCAL_MACHINE, L'HARDWARE\\DEVICEMAP\\TOUCH', 0, 0, &hOpenKey);
// 調(diào)用RegFlushKey會(huì)觸發(fā)系統(tǒng)保存注冊(cè)表
RegFlushKey( hOpenKey );
// 關(guān)閉打開(kāi)的注冊(cè)表
RegCloseKey( hOpenKey);
我們將上面代碼封裝成了一個(gè)小工具RegFlushKey,放在系統(tǒng)的控制面板中,方便調(diào)試時(shí)使用。比如用戶(hù)通過(guò)控制面板的筆針工具較準(zhǔn)完觸摸屏后,再點(diǎn)擊運(yùn)行一次RegFlushKey,觸摸屏較準(zhǔn)數(shù)據(jù)就保存了。
圖1
根據(jù)用戶(hù)實(shí)際需求,我們會(huì)不斷添加保存的注冊(cè)表項(xiàng),本文檔表1也會(huì)同步更新。
與hive-based注冊(cè)表相比,使用RAM-based注冊(cè)表還有些需要注意的地方,比如“撥號(hào)連接”。在hive注冊(cè)表的系統(tǒng)中,通過(guò)控制面板或英創(chuàng)提供的RasEntry程序新建撥號(hào)連接后,對(duì)應(yīng)的注冊(cè)表就已經(jīng)自動(dòng)保存了,系統(tǒng)斷電重啟不會(huì)丟失,因此在hive注冊(cè)表情況下,撥號(hào)連接只需要建立一次。而RAM-based注冊(cè)表不能保存這些信息,所以系統(tǒng)每次啟動(dòng)后都需要新建撥號(hào)連接。
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3581瀏覽量
89395 -
嵌入式主板
+關(guān)注
關(guān)注
7文章
6086瀏覽量
35646
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
龍芯中科榮獲2024年度信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位
RAM-Based Shift Register Xilinx IP核的使用
![<b class='flag-5'>RAM-Based</b> Shift Register Xilinx IP核的使用](https://file1.elecfans.com/web3/M00/06/C4/wKgZPGePUJGATL3qAAAw1d7gTm0193.png)
芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位
飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿(mǎn)落幕
有方科技參編的信息技術(shù)團(tuán)體標(biāo)準(zhǔn)發(fā)布
龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦
《DNESP32S3使用指南-IDF版_V1.6》第九章 IDF組件注冊(cè)表
中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)
NY8B062F 14 I/O+12-通道ADC 8位EPROM-Based單片機(jī)手冊(cè)
信創(chuàng)國(guó)產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀
梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單
ARM-based相比ARM cortex有何優(yōu)勢(shì)?
龍芯中科三項(xiàng)信創(chuàng)方案入圍工信部2023年信息技術(shù)應(yīng)用創(chuàng)新應(yīng)用示范案例名單
![龍芯中科三項(xiàng)信<b class='flag-5'>創(chuàng)</b>方案入圍工信部2023年<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新應(yīng)用示范案例名單](https://file1.elecfans.com/web2/M00/C3/19/wKgZomXpfwWAT16RAABpz-I0EpY201.png)
FPGA-Based DPU網(wǎng)卡的發(fā)展和應(yīng)用
![FPGA-<b class='flag-5'>Based</b> DPU網(wǎng)卡的發(fā)展和應(yīng)用](https://file1.elecfans.com/web2/M00/C0/BD/wKgZomXYPnKAa7U5AAA17ZktL68407.png)
評(píng)論