国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 手機玩家 > 正文

因調(diào)整電壓導致Block67讀寫失敗怎么辦

2024-06-08 15:03:24
字體:
來源:轉載
供稿:網(wǎng)友
最近有一些朋友因為調(diào)整電壓導致Block67讀取失敗,sensorstool不能再操作手機,出現(xiàn)錯誤“Error:Unable to read Eelite BlockID=67 info"而同時手機不能開機。這種情況,有的朋友沒有備份EEP,只能寫別人的EEP。很麻煩!其原因主要是當剛剛連接到手機,所有的數(shù)字還是0的時候,有的人按了write phone,導致Block67被全部置0。
這是我在第一次發(fā)表這篇文章時的觀點,因為今天看來,這是錯誤的。對此我非常慚愧,這是我在沒有充分證據(jù)的情況下發(fā)的,想當然而的觀點,所以特地寫了一篇修正版,以正視聽。
其實這個問題是因為sensorstool的Bug。我在《6688經(jīng)驗半月談》里曾經(jīng)說過EEPROM的數(shù)據(jù)結構和存儲。這里再說以下,在EEP里數(shù)據(jù)是索引存儲的,其索引的數(shù)據(jù)結構如下:
EEPROM Block Directory Record format:
Offset Size  Des cription
------ ----- ----------------------------------------------
00  BYTE  Record starting marker [00,F0,FC] 記錄標志為00,
F0或FC00= Unused block?  不用的Block
F0= Deleted block? 刪除的Block    
FC= Used block?   當前有效的Block    
01  BYTE  Version. [00..05]
Always zero in LBA_FS & EE_FS blocks.
Only EELITE blocks that has 04 & 05.
02  Word  Size
04  DWORD Linear address of data   此處為Flash地址
08  WORD  ID             為平常說的BlockXX,如Block67
0A  BYTE  ??? [00,01,02]
Always zero in EEFULL & EELITE blocks.
Always 02 in LBA_FS & EE_FS blocks.
0B  BYTE  Record ending marker [00,F0,FC,FF]
FF= No more record
在6688中,Block67(43H)是和電壓相關的,也就是大家平時所說的電壓參數(shù)。同時也是Sensortool所修改的Block。它的大小是20個字節(jié)。具體含義如下:
Battery status (0043):
- 0000H : BattMin Data1
- 0002H : BattMin Data2
- 0004H : BattMax Data1
- 0006H : BattMax Data2
- 0008H : BattTemp Data1
- 000AH : BattTemp Data2
- 000CH : EnvTemp Data1
- 000EH : EnvTemp Data2
- 0010H : VCXOTemp Data1
- 0012H : VCXOTemp Data2
注:以上資料來自于RizaPN,這個我沒有研究過。
而sensortool所使用的Blk文件就是Block的縮寫,因為這些數(shù)據(jù)是和手機硬件相關的,所以Block67存儲在EELITE(C000H-FFFFH)中,大家可以打開看看。但是Sensortool有個問題,因為他每次寫入新的電壓參數(shù)時都是把原有Block索引的記錄標志字節(jié)(Record starting marker )由FC改為F0,既又正在使用改為刪除,而新建一條索引來把這個Block放在一個新位置。這樣索引(索引表都是放在后面,可參考半月談)是向上增加,而Block數(shù)據(jù)是向下增加的。那么總會有這種情況發(fā)生,就是最新的位置已到了索引表的位置,那么就會發(fā)生沖突。我猜測sensortool是先刪除記錄,再新建索引表,但這時已發(fā)現(xiàn)沒有空間來建立Block了,但他并不恢復刪除的記錄,所以所有的Block67的索引表都被標為F0(刪除),所以系統(tǒng)中沒有Block67的索引表,所有的工具在讀寫這個Block時都會發(fā)生錯誤,手機也會。我之前的錯誤是以為Block的所有字節(jié)都被置為0。
解決的辦法是非常的簡單的:
如果你備份了自己的EEP,那么只須重新寫入就可以了。所以我一直強調(diào)要備份EEP,最好是低版本的原始EEP,所謂不戰(zhàn)而屈人之兵。
如果你沒備份自己的EEP,你只需讀出EEP,然后找到某一條(因為有很多條)Block67的索引記錄,然后把它的頭和尾的錄標志字節(jié)(Record starting marker )由F0為FC即可。尋找的辦法是用HEX編輯器打開,如UltraEdit,然后查找430000F0,會找到很多條記錄,你因該修改找到的第一條的紀錄,也就是最新的紀錄(因為索引表是向上增長的),如F00114003EFBFF00430000F0,其中的3EFBFF是Block的實際地址(Flash地址,對應于文件地址是5FFB3E,F(xiàn)FFB3E-A00000)。你需要修改頭尾的F0為FC,即FC0114003EFBFF00430000FC就可以了。然后把它寫回到手機。
下面是實例圖:
此主題相關圖片如下:
寫了這么多是因為我喜歡知其然也知其所以然。
至于每個手機都有不同的電壓參數(shù)的問題,做過電子產(chǎn)品的朋友都知道,電子產(chǎn)品都會在某些部位有一個微調(diào)電阻、電容或其他,來根據(jù)某個批次的元器件特征來校準設備,因為所有的元器件都有一個誤差范圍,這根據(jù)不同的適用范圍而不同(比如軍品就誤差較小),價格也不同。而手機充電也是根據(jù)一個A/D轉換電路來控制充電的范圍,所需要的數(shù)字量就從這個Block讀取。記得一個朋友說過,在手機出廠前會用一個標準設備(類似電池)來測試這個數(shù)字量,并得到一個保守但安全的值。所以我們可以認為自己手機的電壓參數(shù)在出廠時基本是合適的,如果我們想最大可能的榨取電池的能力(仿佛是DIY的精神),可以在自己的參數(shù)上微調(diào),使之范圍略寬于標準的3.6V-4.2V,增強待機時間。
最后還是說不推薦使用別人的EEP和電壓參數(shù)。
圖片可到一下網(wǎng)址觀看。
http://www.6688ok.com/bbs/dispbbs.asp?boardID=203&RootID=100853&ID=100853
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 来安县| 延长县| 仲巴县| 富蕴县| 调兵山市| 益阳市| 松桃| 吴川市| 炎陵县| 永胜县| 轮台县| 阜城县| 黄浦区| 晋中市| 桃园市| 封开县| 宕昌县| 千阳县| 莱州市| 平湖市| 济源市| 固原市| 习水县| 建阳市| 临城县| 泗洪县| 甘洛县| 阿克陶县| 乌拉特前旗| 克拉玛依市| 团风县| 织金县| 满洲里市| 奉新县| 岑巩县| 三明市| 毕节市| 左贡县| 伊宁县| 嘉峪关市| 忻城县|