新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 詳解TCC89x的Hive Registry設(shè)置

        詳解TCC89x的Hive Registry設(shè)置

        作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        //=====================================================================

        本文引用地址:http://www.104case.com/article/201609/304824.htm

        //TITLE:

        // 詳解TCC89x的Hive Registry設(shè)置

        //AUTHOR:

        // norains

        //DATE:

        // Tuesday 16-November-2010

        //Environment:

        // Windows CE 6.0

        // TCC8900

        //=====================================================================

        Hive Registry在很多方案中設(shè)置比較麻煩,有的還專門弄了個文檔來一步一步講解如何設(shè)置;但對于TCC89x來說,如果你要求不高,僅僅是能夠正常讓Hive Registry運作,那么一切都是很簡單。

        首先,我們要做的是,添加Hive Registry選項,如圖:

        選擇該特性以后,其實只是設(shè)置了SYSGEN_FSREGHIVE這個環(huán)境變量而已。編譯完畢,將系統(tǒng)燒錄到FLASH,這時候Hive Registry已經(jīng)開始正常工作了。但這時候細心的朋友測試的時候發(fā)現(xiàn),為什么更改后的注冊表數(shù)值重啟之后就消失了,沒有保存下載呢?這也能叫Hive Registry正常工作么?

        很明確地說,此時Hive Registry已經(jīng)正常工作了,之所以數(shù)據(jù)沒有保存下來,是因為保存的路徑不對。打開Platform.reg文件,發(fā)現(xiàn)保存路徑的設(shè)置如下:

        從圖中可以看出,路徑是在“Documents and Settings”這個文件夾,也就是說完整的路徑為“/Documents and Settings”。這意味著什么?意味著我們的注冊表文件保存到內(nèi)存的臨時空間去了!為了能在關(guān)閉設(shè)備后還能保存數(shù)據(jù),我們只需要更改該路徑到Flash中即可,如:

        可能有的朋友覺得將注冊表文件保存到NAND有點不專業(yè),想保存到隱藏的APP分區(qū),也許會按照我這篇文章《TCC89x的NAND數(shù)據(jù)分區(qū)的設(shè)置》(http://blog.csdn.net/norains/archive/2010/11/11/6002358.aspx)進行設(shè)置,并且將路徑更改為“App//Documents and Settings”,但在實際運行中發(fā)現(xiàn)根本數(shù)據(jù)就無法保存。然后再深究原因,結(jié)果是,當選擇Hive Registry時,APP分區(qū)根本就沒有手動加載。怎么回事呢?其實這個我們需要在NAND注冊表中添加“; HIVE BOOT SECTION”字段,如圖:

        編譯完畢,將系統(tǒng)燒錄,OK!一切正常!

        熟悉注冊表的朋友可能就疑惑了,為什么加了這兩句之后,就能正常加載了呢?前面有“;”符號,不是注釋么?一開始我也是這么想的,但該死的微軟,給我們開了一個天大的玩笑,HIVE BOOT SECTION之前加“;”不是注釋,是代表特殊的功能!眾所周知,Hive Registry分為兩個部分,一部分是編譯時生成的包含到NK里面的,另一部分是保存到非易失媒介的,也就是類似FLASH一類。夾在“; HIVE BOOT SECTION”和“ ; END HIVE BOOT SECTION”之間的數(shù)值,標明它是要存儲在非易失媒介中的。

        知道這些基礎(chǔ)知識之后,對于為什么之前的注冊表在Hive Registry的情形下,沒有正確加載APP分區(qū)了。首先,NAND注冊表的Flags設(shè)置為1000,意味著該驅(qū)動在保存到Flash的注冊表找到的話,也只按照保存的這個數(shù)值進行加載;即使是NK部分還存在該鍵值,也只執(zhí)行一次。換句話來說,如果Flags為0,那么會執(zhí)行兩次。接著,因為之前的注冊表沒有添加“HIVE BOOT SECTION”字段,所以并沒有保存到Flash的注冊表中,于是啟動之后,在Flash的注冊表就沒有找到該分區(qū)信息,所以不會進行加載。最后,又因為NAND驅(qū)動只加載一次,系統(tǒng)不會再執(zhí)行NK里面的NAND注冊表,于是APP分區(qū)就永遠沒有辦法自動加載了。



        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 阜宁县| 新邵县| 涿鹿县| 夹江县| 花莲县| 阿坝县| 卫辉市| 遵义市| 读书| 德州市| 惠水县| 柯坪县| 托克托县| 辉南县| 布拖县| 城步| 交城县| 普洱| 五家渠市| 曲麻莱县| 墨脱县| 宜都市| 牡丹江市| 普洱| 石首市| 凌源市| 中江县| 登封市| 博客| 莱西市| 宁蒗| 舒城县| 台中县| 淮北市| 罗平县| 台北市| 临江市| 安溪县| 崇义县| 金沙县| 酉阳|