字庫,又稱FLASH,為Flash ROM閃速只讀存儲器。
它以代碼的形式裝載了手機的基本程序和各種功能程序。至今字庫這個名詞概念混,很不清楚,到底字庫是什么呢?
實際上我們可以這樣區分,把它們分開叫比較易懂一些。
字庫,一般可以分別叫程序存儲器(稱程序)和漢字庫存儲器(字存),那為什么人家不這樣叫呢?
這是因為先前手機設計時把漢字庫作為一個存儲芯片焊接在手機上,程序存儲器版本也作為另一個存儲焊接再手機上,而后來發展到把程序和字存復合在一起,所以我們稱之為字庫罷了。
字庫的容量要比碼片的容量大的多,常見的有32M 64及128M等。字庫在手機的作用很大,地位非常重要,具體作用如下:
1 儲存主機主程序
2 儲存字庫信息
3 儲存網絡信息
4 儲存錄音
5 存儲加密信息
6 存儲序列號(IMEI碼)
7 儲存操作系統FLASH
按工作電壓分為:
5V、3.3V、1.8V、0.9V
按數據總線寬度分為:
8位數據總線寬度
16位數據總線寬度兩種
按其總線和數據分為:
(1)總線和數據總線分離
(2)低16位地址總線和數據總線合并
(3)地址總線和數據總線合并
按其扇區分布分為:
TOP、BOTTOM兩種;
其封裝形式分為:
TSOP40、TSOP48、FBGA48、UBGA56 FBGA72 BGA80 BGA69 等
按其腳管的多少,手機的字庫又可以分為兩大類:
一類為40腳的字庫(如型號28F004,28F008)
另一類為 48腳的字庫(如型號28F800,28F160F160等)
字庫的工作流程比較復雜:
當手機開機時,CPU便傳出一個復位信號REST經字庫,使系統復位。
再待CPU把字庫的讀寫端,片選端選端后,CPU就可以從字庫內取出指令,
在CPU里運算,譯碼,輸出各部分協調的工作命令,從而完成各自功能。
字庫(FLASH)程序儲存器的軟件資料是通過數據交換端,地址交換端與微處理器進行通訊的。
CE(CS)端為字庫片選端,OE端為讀允許端,REST端為系統復位端,這四個控制端分別者是由CPU加以控制。
如果字庫的地址有誤或未選通,都將導致手機不正常工作,通常表現為不開機,顯示字符錯亂等故障現象。
由于字庫可以用來擦除,所以當出現數據丟失時可以用編程器或免拆機維修儀重新寫入。
和頁碼一樣,字庫本身也可能會回損壞(既硬件故障),如果是硬件出現故障的話,就要重新更換字庫。
字庫其最大的特點是可擦寫(即可編程),器件相對與以往的EPROM程序存儲器而言,最大的優點是可以在系統編程(ISP-InsystemProgmmable),對于這種IAP技術簡單點就是指電路版上的空白器件可以編程寫入最終用戶代碼,而不需要從電路版上取下器件,已經編程的器件也可以用ISP方式擦除或在編程。
一般通用做法是內部的存儲器可以由上位機的軟件通過串口來進行改寫。
對于單片機來將通過SPI或其它的串行接受上位機的數據并寫入存儲器中。
所以即使我們將芯片焊接在電路版上,只要留出和上位機接口的這個串口,就可以實現芯片存儲器的改寫,而無須在取下芯片。
說的通俗點,就是不用把字庫從手機上拆下來,就可以用電腦配合傳輸線擦寫字庫,
但不同的手機需要配合不同的工具軟件來完成ISP(在系統可編程)。
隨著手機功能的越來越多,手機的工作程序也越來越大,相應的手機的字庫容量也越來越大。
例如摩托羅拉328英文手機的字庫型號為28F800,容量為1M字節,尋址線寬A0-A18共19條地址線。
到了摩托羅拉V988的時候,尋址線寬A0-A19共20條地址線。
而V988++ 的字庫型號為28F320,容量為4M字節,尋地線寬A0-A20共21條地址線。
由于上面的例子可以看出,字庫的地址總線的線寬是隨字庫容量的增加的,每多出一條高位地址線,則字庫的容量增加一倍。
1、 新型的FLASH,例如320C3B等,在常規存儲區域后面還有128Bit的特殊加密,
其中前64Bit(8字節)是唯一器件碼(64BitUniqueDeviceIdentifier),每一個字庫在出廠時已經帶有,
并且同一種字庫型號不會有相同的編碼,哪怕這個字庫是全新空白的字庫。
后來64Bit為用戶可編程OTP單元(64BitUserProgrammableOTPCells),可以由用戶自用設定,單只能寫入,不能擦除。
2、 目前有部分手機例如西門子,NEC等,是采用64Bit 唯一碼進行加密,
(1) 手機生產前,所有字庫的內容都是統一寫入的。
(2) 手機生產完成后,開機自檢,自檢程序判斷唯一碼,并根據唯一碼的編號,在常規儲存區域寫入相應的信息,因此出廠的手機字庫是完全不一樣的。
(3) 手機廠商的這種做法是為了保護其自身的產權不受到非法抄襲。
(4) 很多維修工作者也嘗試過,把一部正常使用的手機字庫拆下來,把資料讀出來并寫入一顆全新字庫,并裝回到另外一部手機,哪怕是同一部手機上面,也不能正常使用,例如西門子的就是顯示兩行英文。其原因是手機開機后判斷字庫的唯一代碼是否和主存儲區域的相對應,如果不對應,就顯示錯誤信息。
3、 作為正常的維修方法,可以借助一些工具來找到唯一碼的解秘。
如用凌凱LK48,UP48,選帶“LOCK”或“-MLOCK”的選型 ,如320C3OCK,可以把唯一器件碼和用戶可編程OTP單元讀出來,
然后通過對比等方法找到解密的方法,但是一般來講,刷機很少有刷壞字庫的