中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. "); //-->

        博客專欄

        EEPW首頁 > 博客 > 高通平臺讀寫nv總結(jié)

        高通平臺讀寫nv總結(jié)

        發(fā)布人:電子禪石 時間:2023-09-23 來源:工程師 發(fā)布文章

        一,引言
              1. 什么是NV
               高通平臺的NV,保存了系統(tǒng)運(yùn)行過程中各個模塊可能用到的一些參數(shù)值,它是以單個文件的形式保存在EFS中,但用戶是不能隨意訪問的,只能通過QXDM來進(jìn)行讀寫。對于60X0平臺,NV就有將近5千多項。
              
              2. 為什么要備份恢復(fù)NV
              NV值是需要通過校準(zhǔn)和終測才能使手機(jī)硬件達(dá)到最佳工作狀態(tài),特別是其中的RF相關(guān)的NV項,經(jīng)過校準(zhǔn)及終測后,每臺手機(jī)的這些NV值基本上都不一樣,又加上NV數(shù)據(jù)是是存儲在EFS,而EFS的數(shù)據(jù)很可能遭到破壞(如:重新燒寫版本),這時的NV數(shù)據(jù)也將被破壞,之前校準(zhǔn)和終測后的NV數(shù)據(jù)也將無法恢復(fù),使得手機(jī)將面臨重新走校準(zhǔn)、終測的生產(chǎn)流程。

              3. 備份恢復(fù)的原則      
              備份:首先要確定需要備份的NV有那些項(一般是RF相關(guān)的),一旦檢測到對NV項的修改,則在EFS中創(chuàng)建一個標(biāo)志文件,在每次開機(jī)時判斷這個標(biāo)志文件是否存在而執(zhí)行是否做備份。
              恢復(fù):同樣在每次開機(jī)的時候判斷EFS中是否存在恢復(fù)標(biāo)志文件,如果不存在則恢復(fù)NV,然后創(chuàng)建這個標(biāo)志文件,創(chuàng)建成功后,下次開機(jī)就會不進(jìn)行恢復(fù)。
              
        二,NV的備份

              1. 備份的區(qū)域
              由于所需要備份的NV項不是很多(一般就幾十項),所以我們可以在FLASH上開辟一塊區(qū)域?qū)iT用于保存NV備份數(shù)據(jù)。備份區(qū)域是以一定的組織格式來存放數(shù)據(jù)的(如圖):
              

              其中每個Item都是以:Item號+內(nèi)容大小(Byte)+內(nèi)容   的形式來存放的。比如第10項NV可能有2個值,分別是0x11,0x22,則它在FLASH中存放的形式就是:
              0a 00 00 00  02 00 00 00  11 22 --------(這里Item號、內(nèi)容大小都是UINT32 類型)。

              2. 備份的時機(jī)
              一般一臺機(jī)器在出廠前,都要通過終測儀進(jìn)行校準(zhǔn)、終測。這個過程就會修改到一些RF相關(guān)的NV項,也就是我們需要備份的NV。對于軟件上來說,不管是用終測儀,或則高通的QPST,QXDM工具來修改NV項,最后都會調(diào)用到寫NV的函數(shù):nvdiag_write(),我們可以在這個函數(shù)里面創(chuàng)建備份標(biāo)志文件,在下次系統(tǒng)啟動時讀取這個文件是否存在來判斷是否要做備份。

              3. 備份的方法
              之前說過,高通的NV都是以單個文件的形式存放在EFS中,每個文件的文件名就是NV項的序列號,所以我們可以直接調(diào)用EFS的讀函數(shù)nv_read來讀取某個特定的NV項的值。

        三,NV的恢復(fù)

              1. 恢復(fù)的時機(jī)
              恢復(fù)就是備份的逆過程,即把存放在FLASH中的備份數(shù)據(jù)恢復(fù)到EFS中對應(yīng)的NV項中去。如果手機(jī)出廠以后一旦要進(jìn)行軟件升級,并且同時需要破壞EFS,則就不得不進(jìn)行NV項的恢復(fù)。所以系統(tǒng)在每次開機(jī)運(yùn)行時,都會檢查文件系統(tǒng)中是否存在恢復(fù)標(biāo)志文件,如果不存在則進(jìn)行恢復(fù)并創(chuàng)建;反之則不恢復(fù)。這就要求我們每次發(fā)布的軟件版本中打包的EFS不能包含這個標(biāo)志文件。

              2. 恢復(fù)的方法
              進(jìn)行恢復(fù)的時候就要讀取備份區(qū)域中備份的每項NV,然后同樣調(diào)用EFS的寫函數(shù)nv_write把數(shù)據(jù)寫到對于的NV項中。


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: mbn

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

        關(guān)閉