女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]WinCE的嵌入式系統(tǒng)注冊表的研究

  摘要:本文首先講述了 Windows CE注冊表的重要性,它對整個嵌入式系統(tǒng)的正常運(yùn)行起著關(guān)鍵性作用。然后又介紹了兩種注冊表存儲方式,并著重講述了基于 HIVE的注冊表。詳細(xì)闡述了基于 HIVE的注冊表的保存數(shù)據(jù)方式及實(shí)現(xiàn) HIVE注冊表的方法。最后給出了系統(tǒng)成功修改注冊表的實(shí)現(xiàn)方法。本文的研究對其它操作系統(tǒng)的注冊表修改也具有著借鑒意義。

  0 引言

  嵌入式操作系統(tǒng) Windows CE和桌面操作系統(tǒng)一樣使用注冊表(Registry)來保存應(yīng)用程序、驅(qū)動程序和用戶的設(shè)定以及其他一些配置信息,通常還存儲著操作系統(tǒng)調(diào)用程序的狀態(tài)信息,所以注冊表起著非常重要的作用,它是 Windows CE操作系統(tǒng)的核心。在沒有注冊表的情況下,操作系統(tǒng)將不能獲得必需的信息來運(yùn)行和控制附屬的設(shè)備和應(yīng)用程序及正確響應(yīng)用戶的輸入[1][2]。

  1 Windows CE注冊表簡介

  Windows CE的注冊表結(jié)構(gòu)和其他版本的 Windows操作系統(tǒng)的注冊表結(jié)構(gòu)是類似的。注冊表是一個包括主關(guān)鍵字子樹的集合,它和文件目錄樹一樣具有層次結(jié)構(gòu)。每個子樹又由更低層的子樹、鍵以及鍵值組成。鍵相當(dāng)于文件系統(tǒng)的目錄,每個鍵包含若干鍵值項(xiàng)。而鍵值項(xiàng)相當(dāng)于文件系統(tǒng)末端的文件,它由鍵值名、數(shù)據(jù)類型和鍵值組成。鍵值就是注冊表存儲的數(shù)據(jù)。

  Windows CE對注冊表的值有一些限制:鍵或者鍵值項(xiàng)的名字最多為 255個字符,數(shù)據(jù)最大為4K,鍵嵌套層次最多為 16層。所以在使用注冊表編程時,要盡量使鍵和鍵值項(xiàng)占用最小的空間。另外,需要注意的是,在注冊表中,鍵值項(xiàng)比鍵值占用更大的存儲空間。

  Windows CE注冊表包括4個根鍵 [2],如表1所示。

  表 1 Windows CE注冊表根鍵


  2 Windows CE注冊表類型

  由于嵌入式系統(tǒng)的特點(diǎn),一些嵌入式設(shè)備是沒有外存的。因此 Windows CE的注冊表提供了兩種實(shí)現(xiàn)方式:基于對象存儲的注冊表(RAM-Based Registry)和基于 Hive的注冊表(Hive-Based Registry) [3]。我們可以在 Windows CE中使用任何一種注冊表,注冊表類型對于用戶和應(yīng)用程序來說都是透明的?;赗AM的注冊表在經(jīng)常熱啟動的設(shè)備上是非常高效的,而在經(jīng)常冷啟動的設(shè)備上,性能卻很令人失望,最適合有電池后備的個人電子消費(fèi)類產(chǎn)品。對于經(jīng)常冷啟動或者不怎么使用熱啟動方式的設(shè)備來說,基于 hive的注冊表是非常高效的,最適合永久性的存儲器和多用戶環(huán)境下使用。

  2.1 基于 RAM的注冊表

  顧名思義,基于 RAM的注冊表把整個注冊表作為一個對象存儲堆放在 RAM中。這就意味著如果系統(tǒng)中斷對 RAM的電池供電,對注冊表的所有改動都會丟失。也就是說,它們的有效性和 RAM中數(shù)據(jù)的有效性是一致的。但是使用 RAM注冊表,對注冊表的讀寫訪問操作非常的快速高效。在舊版本的 Windows CE中,大量應(yīng)用了基于 RAM的注冊表。如果有外存且需要經(jīng)常冷啟動的設(shè)備采用基于 RAM的注冊表,則需要在系統(tǒng)斷電的時候?qū)ψ员磉M(jìn)行保存,等系統(tǒng)再次啟動時對保存的注冊表進(jìn)行還原。

  2.2 基于 HIVE的注冊表

  HIVE系統(tǒng)包含了不屬于任何用戶信息的系統(tǒng)設(shè)置。HIVE系統(tǒng)由 OEM層調(diào)用。通常 hive文件為System.hv,但是它的存儲位置可能隨著平臺而變化。這種存儲方式使系統(tǒng)在斷電前后無須備份和恢復(fù)注冊表數(shù)據(jù),這使得系統(tǒng)冷啟動時速度更快。

  基于HIVE結(jié)構(gòu)的注冊表被分為兩部分存儲:系統(tǒng)HIVE,存儲所有的系統(tǒng)數(shù)據(jù);用戶HIVE,存儲對特定用戶的所有相關(guān)數(shù)據(jù)。一個多用戶系統(tǒng)將包括幾個用戶HIVE。當(dāng)一個用戶登錄時,相應(yīng)的用戶 HIVE就會被激活,當(dāng)用戶退出時,相應(yīng)的用戶 HIVE也會被撤銷。所有的用戶 HIVE都用 USER.hv來命名,并且被放在不同的用戶目錄中,每個目錄都是以它屬于的用戶的用戶名來命名的。

  注冊表中的HKEY_LOCAL_MACHINEinitBootVars下的鍵值項(xiàng)ProfileDir存儲著所有用戶目錄的位置。HKEY_LOCAL_MACHINEinitBootVars下的鍵值項(xiàng) SystemHive存儲著系統(tǒng)HIVE的文件路徑和文件名。[!--empirenews.page--]

  BOOT HIVE存儲只用于系統(tǒng)啟動時的系統(tǒng)設(shè)置。BOOT HIVE從 ROM中讀出并用于啟動驅(qū)動程序和相關(guān)的文件系統(tǒng)。這個文件系統(tǒng)用于啟動系統(tǒng) HIVE文件。當(dāng)系統(tǒng)HIVE啟動后, BOOT HIVE將被終止。當(dāng)系統(tǒng) HIVE有效時,啟動過程中被修改的注冊表數(shù)據(jù)將被存放于系統(tǒng) HIVE中。但是 BOOT HIVE在 ROM中的數(shù)據(jù)還保持不變。 3 HIVE注冊表的實(shí)現(xiàn)HIVE注冊表是通過修改系統(tǒng)的平臺文件來實(shí)現(xiàn)的,在工程目錄下的 PLATFORM.REG文件中包含了系統(tǒng)的啟動信息,HIVE注冊表的啟動方式不同于普通注冊表的啟動方式,它需要在系統(tǒng)加載設(shè)備管理器前加載系統(tǒng)存儲媒介的驅(qū)動程序,只有這樣才能在加載設(shè)備管理器當(dāng)中提取設(shè)備在注冊表中的保存信息,達(dá)到 HIVE存儲的目的。下面介紹如何讓系統(tǒng)支持 HIVE 表2 標(biāo)準(zhǔn) HIVE及其支持的文件


  注冊表存儲:

  1 )修改設(shè)備管理器的啟動信息值 “Start DevMgr”= dword:1此冊項(xiàng)代表使用 HIVE注冊表存儲系統(tǒng)信息

  2 )把系統(tǒng)的存儲媒介驅(qū)動程序加在 “HIVE BOOT SECTION”與“END HIVE BOOT SECTION” 的注釋之間,該注釋被編譯器選擇提取之后,在系統(tǒng)上電后加載在設(shè)備管理器之前

  3 )在系統(tǒng)的存儲媒介驅(qū)動程序上提供一個 FLAG項(xiàng),該項(xiàng)的目的是對目標(biāo)數(shù)據(jù)進(jìn)行邏輯運(yùn)算。

  “flags”= dword:1

  通過以上參數(shù)的修改,系統(tǒng)即可支持 HIVE注冊表存儲,該存儲方式有效存儲系統(tǒng)保存

  在 HIVE注冊表中的信息,比如觸摸屏觸電校驗(yàn)信息,系統(tǒng) IP地址等。經(jīng)大量試驗(yàn)證明,該方法有效可行。 4 系統(tǒng)注冊表修改分析

  4.1 觸摸屏驅(qū)動程序注冊表設(shè)置 下面是本多媒體系統(tǒng)觸摸屏驅(qū)動程序的注冊表信息設(shè)置,我們在校準(zhǔn)的時候需要在注冊表中存儲一些校準(zhǔn)坐標(biāo)信息: [HKEY_LOCAL_MACHINEControlPanel]      "InputConfig"= dword:3  ;3 =>鍵盤和觸摸屏

  [HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPTOUCH] "DriverName"="touch:dll" "MaxCalError"=dword:10"CalibrationData"="500,512 762,268 758,760 244,758 241,266 "//校準(zhǔn)信息 Landscape "CalibrationData"="515,503 763,748 258,749 269,255 764,255 "

[!--empirenews.page--]


  圖 1 HIVE注冊表需要修改的文件

  4.2 在映像中固定 IP地址

  在我們自己創(chuàng)建的調(diào)試環(huán)境中每次啟動后都需要手動修改 IP后才能多人同時調(diào)試,所以要想將 IP地址固定下來就要關(guān)系到注冊表的修改。而關(guān)于IP地址的更改一定會反映到系統(tǒng)注冊表中,也就是說如果能將這部分更改在定制操作系統(tǒng)的時候就加進(jìn)去,那么當(dāng)映像啟動后,就具有設(shè)定好的 IP地址了 [4]。

  經(jīng)過不斷摸索,得出的結(jié)論很好,修改平臺文件project.reg,在文件中添加以下內(nèi)容:

  [HKEY_LOCAL_MACHINEcommvmini1parmstcpip] "defaultgateway" = multi_sz:"192.168.0.1" "subnetmask" = multi_sz:"255.255.255.0" "IpAddress" = multi_sz:"192.168.0.5" "enabledhcp" = dword:0

  第一個是默認(rèn)網(wǎng)關(guān),第二個是子網(wǎng)掩碼,第三個是 IP地址,最后一個也必須加,就是禁用DHCP,只有這樣自己的設(shè)定才能生效。 注意:注冊表鍵值類型一定要設(shè)置好,像上面的 multi_sz,dword一定要添加在前面,否則仍然沒有效果。

  4.3 SD卡驅(qū)動注冊表信息

  SD卡是車載多媒體系統(tǒng)的重要外圍存儲設(shè)備,為靈活實(shí)現(xiàn) SD卡熱插拔功能,使用流接口驅(qū)動模型。SD卡驅(qū)動程序以及它所使用的文件系統(tǒng)都是由存儲管理器負(fù)責(zé)的。在存儲管理器的啟動過程中,很多配置信息都是從系統(tǒng)的注冊表得到的。因此必須先創(chuàng)建如下 SD卡注冊表信息:

  [HKEY_LOCAL_MACHINEDriversBuiltInsdcard] "D11"="sdcard.d11" "Prefix"="SDC" "Index"=dword:1

  "Order"=dword:l

  "FSD"="fatfs.d11"

  [HKEY_LOCAL_MACHINESystemStorageManagerProfilesSDCARD]

  "Name"="SD Card"

  "Folder"= "SDCARD Storage"

  5 結(jié)論

  注冊表是 Windows CE操作系統(tǒng)的核心,起著至關(guān)重要的作用,車載多媒體系統(tǒng)的所有驅(qū)動程序和應(yīng)用程序的配置信息都被保存在注冊表中,如果修改或加載不當(dāng),都將使得整個系統(tǒng)的一些功能不能正常使用,甚至將會導(dǎo)致 Windows CE操作系統(tǒng)無法啟動。本文的創(chuàng)新點(diǎn)在于提出了一種實(shí)現(xiàn) HIVE注冊表的方法和修改注冊表的思路,經(jīng)大量試驗(yàn)證明此種思路很有效,可以用來修改更多其它需要的配置。隨著我國的汽車事業(yè)的蓬勃發(fā)展,汽車導(dǎo)航多媒體系統(tǒng)有著越來越廣闊的應(yīng)用前景,本項(xiàng)目的經(jīng)濟(jì)效益預(yù)計(jì)在八十萬元左右。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

Lua RTOS 是一個實(shí)時操作系統(tǒng),設(shè)計(jì)在嵌入式系統(tǒng)上運(yùn)行,對 FLASH 和 RAM 內(nèi)存的要求最低。目前 Lua RTOS 可用于 ESP32, ESP8266 和 PIC32MZ 平臺,并可以輕松移植到其他32位...

關(guān)鍵字: Lua RTOS 操作系統(tǒng) 嵌入式系統(tǒng)

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UATR,是一種串行、異步、全雙工的收發(fā)器。全雙工的UART支持同時雙向通信,是嵌入式系統(tǒng)必不可少的d...

關(guān)鍵字: 異步收發(fā) 傳輸器 嵌入式系統(tǒng)

據(jù)全球最大石油生產(chǎn)商沙特阿美(Saudi Aramco)稱,全球石油市場依然緊張。對于一個仍然嚴(yán)重依賴化石燃料的世界來說,這不是一個好兆頭。沙特阿美CEO Amin Nasser表示,如今閑置產(chǎn)能非常低。如果亞洲重新開放...

關(guān)鍵字: NAS RAM SE CE

Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲器 嵌入式系統(tǒng)

(全球TMT2022年9月20日訊)華為云發(fā)布《云原生2.0架構(gòu)白皮書》并聯(lián)合CNCF(云原生計(jì)算基金會)成立創(chuàng)原會亞太分會。為加速亞太政企數(shù)字化轉(zhuǎn)型,華為云還提出“堅(jiān)定決心、積極行動,全面擁抱云原生技術(shù),積極發(fā)展數(shù)字...

關(guān)鍵字: MOUNT RAM 流媒體 華為云

近年來,隨著計(jì)算機(jī)技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)無疑成為當(dāng)前最熱門最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。?嵌入式系統(tǒng)一般由嵌入式微處理器、外...

關(guān)鍵字: 嵌入式 嵌入式系統(tǒng) 計(jì)算機(jī)

深圳2022年8月26日 /美通社/ -- 8月17日 – 深圳,AMD Xilinx舉辦為期一天的線下技術(shù)日活動,在AMD Xilinx主辦下宜鼎國際作為合作伙伴的身份被邀...

關(guān)鍵字: AMD Xilinx AGENT 嵌入式系統(tǒng)

單向散列算法,又稱hash哈希函數(shù),Hash函數(shù)(也稱雜湊算法)就是把任意長的輸入消息串變化成固定長的輸出串的一種函數(shù),該過程是不可逆的。Hash函數(shù)可用于數(shù)字簽名、消息的完整性檢測、消息起源的認(rèn)證檢測等。較為常用的方法...

關(guān)鍵字: 嵌入式算法 嵌入式系統(tǒng)

(全球TMT2022年8月16日訊)2022年8月15日,楓笛Saramonic正式發(fā)布了Blink500 ProX 2.4G雙通道無線麥克風(fēng)系統(tǒng)。Blink500 ProX采用2.4GHz ISM自適應(yīng)跳頻...

關(guān)鍵字: LINK RAM SAR 雙通道

深圳2022年8月15日 /美通社/ -- 2022年8月15日,楓笛Saramonic正式發(fā)布了Blink500 ProX 2.4G雙通道無線麥克風(fēng)系統(tǒng)。這款性能卓越的麥克風(fēng)能滿足多種場合的使用,為您帶來出色的聲音品質(zhì)...

關(guān)鍵字: LINK RAM SAR 雙通道

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉