字库,又称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单元读出来,
然后通过对比等方法找到解密的方法,但是一般来讲,刷机很少有刷坏字库的