2023年12月18日发(作者:玄秀雅)
手机字库数据损坏丢失,想自己刷字库,可以了解一下.
这是最通用的方法,几乎所有智能手机都适用,我以一款详细说明,对你自己的手机,你只需要仔细了解一下主板就可以了。
其实因为刷机途中突然断电,数据线意外拔出等造成的彻底变砖(无论怎样手机无任何反应,连指示灯都不亮)现象,大部分都是因为引导信息(bootloader)出现混乱错误数据丢失导致的,而不是真正的字库(即存储引导信息的flash芯片)物理损坏,大部分情况下只要通过本文介绍的方法就可以自己动手恢复
首先你要了解JTAG协议、JTAG的烧写结构、ARM公司出的ARM系列处理器核心。绝大部分的安卓手机处理器都是ARM核心的,例如高通、因特尔等等,都是ARM核心。最为人熟知的V880是高通骁龙MNM7227的cpu,这也是ARM的核心。如今,大部分安卓手机的cpu都是ARM7的了,比如中兴V899D、N880E等。想知道你的cpu是什么核心,用手机检测软件就可以测出,比如安兔兔。
JTAG协议支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件。如今的所有智能手机几乎都用的是JTAG协议。
实际操作
(这里以O2 Atom为例,虽然O2 Atom是2006年出产的Windows Mobile智能手机,但其烧字库用到的JTAG是完全适用于安卓的,因为国际标准的JTAG协议,支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如今的所有智能手机几乎都用的是JTAG协议。)
用JTAG重新写PXA272的flash memory(也就是字库)
这个过程由两部分组成:
1.硬件部分(重写字库用到的数据线,以下会说明怎么制作这样的线)
2.软件部分(重写字库用的软件)
硬件部分:
首先看自己手机的JTAG插脚引线图:
准备好工具,100欧的电阻和LPT打印并口接口,因为电脑上LPT并口的是母头,需要买个带针的公头。还需要拆机的螺丝刀,尖头电烙铁(最好内热型的),焊锡和焊锡膏。
这里以O2 Atom为例,O2 Atom只有内部引线..位于相机键的附近.
这些引线大多在机子的内部,要连接它们你就必须打开机子.
有些引线露在外面,在sim卡插槽附近
所有的引线都是处于工作状态的,我们就是要通过这些引脚,把bootloader信息重新写入到字库中去.
对于内部的引线,你需要下图这样的一个连接器.
连接pc主板的时候,如果没有这样的连接器,其实更加建议直接把线焊在主板的触点上.
这样更加保险,不存在接触不良的问题了,其实一些手机维修店里都是这样做的
PC的LPT连接器,其实就是接电脑并口的,电脑上的是公头,我们要买的就是母头.
线长大约35-40cm,根据情况自己调整,但是不能太长,否则对传输信号有影响.
这是电脑上的并口图…
这个是为了固定连接器自己做的小工具,当然厂家是有专业仪器的,不会这么简陋
软件部分:.
RepairBootLoader
下载地址:/uploads/
程序是 JFlashmm,
1.打开 giveio。 (这是是为驱动数据线并传输数据做的准备)
2.如果是O2 Atom (非 exec), 那就可以跳过第3步。
3.删除JFlash_MM文件夹中的ebo_0,把O2 Atom的rom中的0文件复制到JFlash_MM文件夹中 ,并重命名为 ebo_0.
(注意用MD5验证工具验证一下自己的0,如果结果是:107515e8ab201b9b5b34b698c392b358 就没有问题了。)
4.按住micro 键 (在sim卡插槽旁边,电池压住的那个开关). 然后连接LPT 连接器,
例如:帖个胶布在那个开关上面就可以了.
LPT 连接器的接地口要接地(用这个的一个夹子接地)
连接 PC的LPT接口.
连接充电器
红色的LED充电指示灯会闪一下.
如果LED不闪,
检查一下.micro 键是否按住.
检查一下是否固定住引线的连接器.
安装附上的giveio驱动.(记得要默认安装,不要动其他的选项)
现在你可以恢复 BootLoader了.
BootLoader 需要恢复的地方有两个
需要从地址0和3f400的地址启动
在jflash_mm文件夹下面有个的文件
在文件里面有:
jflashmm pxa27x32 ebo_0 P 0 PAR
jflashmm pxa27x32 ebo_0 P 3F40000 PAR
所以文件ebo_0 将刷新这两个地方:
地址0 和 地址3f40000, 数据要被传送到并口
执行 , 一切顺利的话 ,说明你正确连接数据线了,
如果没有正确连接的话会有以下提示:
JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation
PLATFORM SELECTION:
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.001
Couldn't access giveio device
如果连接成功,程序开始检测处理器.
如果屏幕提示信息"file *.DAT not find", 按软启键.
程序将询问你: «bla-bla-bla» Y/N? 按Y
显示如下:
________________________________________
JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation
PLATFORM SELECTION
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.002
PXA27x revision ?? //如果这个地方显示error, failed to read device ID
Found flash type: 28F256L18B // check cables and power
Unlocking block at address 0 // ACT: 1111 11111
1
Erasing block at address 0 // EXP: ****
1101 1
Unlocking block at address 10000 // failed to read device ID for
this Platform
Erasing block at address 10000 // 那就说明数据线没有连接成功,请反复检查尝试连接,一定要连上数据线
Unlocking block at address 20000
Erasing block at address 20000
Unlocking block at address 30000
Erasing block at address 30000
Unlocking block at address 40000
Erasing block at address 40000
Starting programming
Using BUFFER
Writing flash at hex address 3fe80, 99.85% done
Programming done
Starting Verify
Verifying flash at hex address 3ff68, 99.94% done
Verification successful!
________________________________________________________________________________
刷新地址3f4000的时候可能要多花一些时间.
你可以断开充电器和数据线.
进入 bootloader :
按相机键, 放入电池并软启t.
如果没有问题的话, bootloader 已经可以正常运行了.
现在,像平时刷机一样 (几乎都要做的事情)
把机子连接到电脑上
运行刷机程序
必须重新刷机
如果没有问题的话,刷机程序会
写入.Operation system
再写入bootloader
再写入 ExtROM, 但是,可能在6 %的时候卡住了
断开USB数据线 ,硬起
机子是肯定可以打开的了, 开始校准屏幕等等.
然后再一次运行刷机软件就可以了~
概念
<一>、JATG协议
H-JTAG 是一款简单易用的的调试代理软件,功能和流行的MULTI-ICE 类似。H-JTAG 包括两个工具软件:H-JTAG SERVER 和H-FLASHER。其中,H-JTAG SERVER 实现调试代理的功能,而H-FLASHER则实现了FLASH 烧写的功能。H-JTAG 的基本结构如下图1-1所示。
H-JTAG支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如ADS、RVDS、IAR 和KEIL。通过灵活的接口配置,H-JTAG 可以支持WIGGLER,SDT-JTAG 和用户自定义的各种JTAG 调试小板。同时,附带的H-FLASHER 烧写软件还支持常用片内片外FLASH 的烧写。使用H-JTAG,用户能够方便的搭建一个简单易用的ARM 调试开发平台。H-JTAG 的功能和特定总结如下:
1. 支持 RDI 1.5.0 以及 1.5.1;
2. 支持所有ARM7 以及 ARM9 芯片;
3. 支持 THUMB 以及ARM 指令;
4. 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN;
5. 支持 SEMIHOSTING;
6. 支持 WIGGLER, SDT-JTAG和用户自定义JTAG调试板;
7. 支持 WINDOWS 9.X/NT/2000/XP;
8.支持常用FLASH 芯片的编程烧写;
9. 支持LPC2000 和AT91SAM 片内FLASH 的自动下载;
二、H-JTAG 调试/烧写结构
H-JTAG 支持ARM 公司的RDI 接口。通过RDI 接口,H-JTAG 能够支持大多数主流的ARM 调试软件。调试的结构如图 1-2 所示。 调试软件(AXD/RVDS/IAR/KEIL)通过RDI 接口与H-JTAG SERVER 进行交互。H-JTAG SERVER通过与并口相连的 JTAG调试板控制目标调试板。H-JTAG提供了灵活的JTAG接口设置。通过设置,H-JTAG可以支持不同类型的JTAG 调试板,例如流行的WIGGLER,SDT-JTAG,用户也可以根据自己的需要使用自定义的JTAG 调试板。 除了调试,用户还可以通过H-FLASHER 将程序和数据烧写/下载到FLASH 芯片中去。目前,S烧写 FLASH 时,H-FLASHER 与H-JTAG 的连接交互和调试的时候十分类似。H-FLASHER 通过RDI接口H-FLASHER 支持的常见的片内和片外FLASH 芯片。随着软件的更新和升级,H-FLA HER 支持的芯片类型也会不断的增加。在执行FLASH 烧写时,H-FLASHER 与H-JTAG SERVER 的连接如下图所示:
烧写FLASH时,H-FLASHER与 H-JTAG的连接交互和调试的时候十分类似。H-FLASHER通过 RDI接口与H-JTAG SERVER进行交互,以访问和控制目标开发板。根据用户提供的配置文件,H-FLASHER最终完成FLASH烧写工作 。
<二>ARM7和ARM9
ARM7 系列微处理器为低功耗的 32 位 RISC 处理器,最适合用于对价位和功耗要求较高的消费类应用。 ARM7 微处理器系列具有如下特点:
具有嵌入式 ICE - RT 逻辑,调试开发方便。
极低的功耗,适合对功耗要求较高的应用,如便携式产品。
能够提供 0.9MIPS/MHz 的三级流水线结构。
代码密度高并兼容 16 位的 Thumb 指令集。
对操作系统的支持广泛,包括 Windows CE 、 Linux 、 Palm OS 等。
指令系统与 ARM9 系列、 ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。
主频最高可达 130MIPS ,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7 系列微处理器的主要应用领域为:工业控制、 Internet 设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7 系列微处理器包括如下几种类型的核: ARM7TDMI 、 ARM7TDMI-S 、ARM720T 、 ARM7EJ 。其中, ARM7TMDI 是目前使用最广泛的 32 位嵌入式 RISC
处理器,属低端ARM 处理器核。 TDMI 的基本含义为:
T : 支持 16 为压缩指令集 Thumb
D : 支持片上 Debug
M :内嵌硬件乘法器
I : 嵌入式 ICE ,支持片上断点和调试点
ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:
5 级整数流水线,指令执行效率更高。
提供 1.1MIPS/MHz 的哈佛结构。
支持 32 位 ARM 指令集和 16 位 Thumb 指令集。
支持 32 位的高速 AMBA 总线接口。
全性能的 MMU ,支持 Windows CE 、 Linux 、 Palm OS 等多种主流嵌入式操作系统。
MPU 支持实时操作系统。
支持数据 Cache 和指令 Cache ,具有更高的指令和数据处理能力。
ARM9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字, 照相机和数字摄像机等。
ARM9 系列微处理器包含 ARM920T 、 ARM922T 和 ARM940T 三种类型,以适用于不同的应用场合
2023年12月18日发(作者:玄秀雅)
手机字库数据损坏丢失,想自己刷字库,可以了解一下.
这是最通用的方法,几乎所有智能手机都适用,我以一款详细说明,对你自己的手机,你只需要仔细了解一下主板就可以了。
其实因为刷机途中突然断电,数据线意外拔出等造成的彻底变砖(无论怎样手机无任何反应,连指示灯都不亮)现象,大部分都是因为引导信息(bootloader)出现混乱错误数据丢失导致的,而不是真正的字库(即存储引导信息的flash芯片)物理损坏,大部分情况下只要通过本文介绍的方法就可以自己动手恢复
首先你要了解JTAG协议、JTAG的烧写结构、ARM公司出的ARM系列处理器核心。绝大部分的安卓手机处理器都是ARM核心的,例如高通、因特尔等等,都是ARM核心。最为人熟知的V880是高通骁龙MNM7227的cpu,这也是ARM的核心。如今,大部分安卓手机的cpu都是ARM7的了,比如中兴V899D、N880E等。想知道你的cpu是什么核心,用手机检测软件就可以测出,比如安兔兔。
JTAG协议支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件。如今的所有智能手机几乎都用的是JTAG协议。
实际操作
(这里以O2 Atom为例,虽然O2 Atom是2006年出产的Windows Mobile智能手机,但其烧字库用到的JTAG是完全适用于安卓的,因为国际标准的JTAG协议,支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如今的所有智能手机几乎都用的是JTAG协议。)
用JTAG重新写PXA272的flash memory(也就是字库)
这个过程由两部分组成:
1.硬件部分(重写字库用到的数据线,以下会说明怎么制作这样的线)
2.软件部分(重写字库用的软件)
硬件部分:
首先看自己手机的JTAG插脚引线图:
准备好工具,100欧的电阻和LPT打印并口接口,因为电脑上LPT并口的是母头,需要买个带针的公头。还需要拆机的螺丝刀,尖头电烙铁(最好内热型的),焊锡和焊锡膏。
这里以O2 Atom为例,O2 Atom只有内部引线..位于相机键的附近.
这些引线大多在机子的内部,要连接它们你就必须打开机子.
有些引线露在外面,在sim卡插槽附近
所有的引线都是处于工作状态的,我们就是要通过这些引脚,把bootloader信息重新写入到字库中去.
对于内部的引线,你需要下图这样的一个连接器.
连接pc主板的时候,如果没有这样的连接器,其实更加建议直接把线焊在主板的触点上.
这样更加保险,不存在接触不良的问题了,其实一些手机维修店里都是这样做的
PC的LPT连接器,其实就是接电脑并口的,电脑上的是公头,我们要买的就是母头.
线长大约35-40cm,根据情况自己调整,但是不能太长,否则对传输信号有影响.
这是电脑上的并口图…
这个是为了固定连接器自己做的小工具,当然厂家是有专业仪器的,不会这么简陋
软件部分:.
RepairBootLoader
下载地址:/uploads/
程序是 JFlashmm,
1.打开 giveio。 (这是是为驱动数据线并传输数据做的准备)
2.如果是O2 Atom (非 exec), 那就可以跳过第3步。
3.删除JFlash_MM文件夹中的ebo_0,把O2 Atom的rom中的0文件复制到JFlash_MM文件夹中 ,并重命名为 ebo_0.
(注意用MD5验证工具验证一下自己的0,如果结果是:107515e8ab201b9b5b34b698c392b358 就没有问题了。)
4.按住micro 键 (在sim卡插槽旁边,电池压住的那个开关). 然后连接LPT 连接器,
例如:帖个胶布在那个开关上面就可以了.
LPT 连接器的接地口要接地(用这个的一个夹子接地)
连接 PC的LPT接口.
连接充电器
红色的LED充电指示灯会闪一下.
如果LED不闪,
检查一下.micro 键是否按住.
检查一下是否固定住引线的连接器.
安装附上的giveio驱动.(记得要默认安装,不要动其他的选项)
现在你可以恢复 BootLoader了.
BootLoader 需要恢复的地方有两个
需要从地址0和3f400的地址启动
在jflash_mm文件夹下面有个的文件
在文件里面有:
jflashmm pxa27x32 ebo_0 P 0 PAR
jflashmm pxa27x32 ebo_0 P 3F40000 PAR
所以文件ebo_0 将刷新这两个地方:
地址0 和 地址3f40000, 数据要被传送到并口
执行 , 一切顺利的话 ,说明你正确连接数据线了,
如果没有正确连接的话会有以下提示:
JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation
PLATFORM SELECTION:
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.001
Couldn't access giveio device
如果连接成功,程序开始检测处理器.
如果屏幕提示信息"file *.DAT not find", 按软启键.
程序将询问你: «bla-bla-bla» Y/N? 按Y
显示如下:
________________________________________
JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation
PLATFORM SELECTION
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.002
PXA27x revision ?? //如果这个地方显示error, failed to read device ID
Found flash type: 28F256L18B // check cables and power
Unlocking block at address 0 // ACT: 1111 11111
1
Erasing block at address 0 // EXP: ****
1101 1
Unlocking block at address 10000 // failed to read device ID for
this Platform
Erasing block at address 10000 // 那就说明数据线没有连接成功,请反复检查尝试连接,一定要连上数据线
Unlocking block at address 20000
Erasing block at address 20000
Unlocking block at address 30000
Erasing block at address 30000
Unlocking block at address 40000
Erasing block at address 40000
Starting programming
Using BUFFER
Writing flash at hex address 3fe80, 99.85% done
Programming done
Starting Verify
Verifying flash at hex address 3ff68, 99.94% done
Verification successful!
________________________________________________________________________________
刷新地址3f4000的时候可能要多花一些时间.
你可以断开充电器和数据线.
进入 bootloader :
按相机键, 放入电池并软启t.
如果没有问题的话, bootloader 已经可以正常运行了.
现在,像平时刷机一样 (几乎都要做的事情)
把机子连接到电脑上
运行刷机程序
必须重新刷机
如果没有问题的话,刷机程序会
写入.Operation system
再写入bootloader
再写入 ExtROM, 但是,可能在6 %的时候卡住了
断开USB数据线 ,硬起
机子是肯定可以打开的了, 开始校准屏幕等等.
然后再一次运行刷机软件就可以了~
概念
<一>、JATG协议
H-JTAG 是一款简单易用的的调试代理软件,功能和流行的MULTI-ICE 类似。H-JTAG 包括两个工具软件:H-JTAG SERVER 和H-FLASHER。其中,H-JTAG SERVER 实现调试代理的功能,而H-FLASHER则实现了FLASH 烧写的功能。H-JTAG 的基本结构如下图1-1所示。
H-JTAG支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如ADS、RVDS、IAR 和KEIL。通过灵活的接口配置,H-JTAG 可以支持WIGGLER,SDT-JTAG 和用户自定义的各种JTAG 调试小板。同时,附带的H-FLASHER 烧写软件还支持常用片内片外FLASH 的烧写。使用H-JTAG,用户能够方便的搭建一个简单易用的ARM 调试开发平台。H-JTAG 的功能和特定总结如下:
1. 支持 RDI 1.5.0 以及 1.5.1;
2. 支持所有ARM7 以及 ARM9 芯片;
3. 支持 THUMB 以及ARM 指令;
4. 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN;
5. 支持 SEMIHOSTING;
6. 支持 WIGGLER, SDT-JTAG和用户自定义JTAG调试板;
7. 支持 WINDOWS 9.X/NT/2000/XP;
8.支持常用FLASH 芯片的编程烧写;
9. 支持LPC2000 和AT91SAM 片内FLASH 的自动下载;
二、H-JTAG 调试/烧写结构
H-JTAG 支持ARM 公司的RDI 接口。通过RDI 接口,H-JTAG 能够支持大多数主流的ARM 调试软件。调试的结构如图 1-2 所示。 调试软件(AXD/RVDS/IAR/KEIL)通过RDI 接口与H-JTAG SERVER 进行交互。H-JTAG SERVER通过与并口相连的 JTAG调试板控制目标调试板。H-JTAG提供了灵活的JTAG接口设置。通过设置,H-JTAG可以支持不同类型的JTAG 调试板,例如流行的WIGGLER,SDT-JTAG,用户也可以根据自己的需要使用自定义的JTAG 调试板。 除了调试,用户还可以通过H-FLASHER 将程序和数据烧写/下载到FLASH 芯片中去。目前,S烧写 FLASH 时,H-FLASHER 与H-JTAG 的连接交互和调试的时候十分类似。H-FLASHER 通过RDI接口H-FLASHER 支持的常见的片内和片外FLASH 芯片。随着软件的更新和升级,H-FLA HER 支持的芯片类型也会不断的增加。在执行FLASH 烧写时,H-FLASHER 与H-JTAG SERVER 的连接如下图所示:
烧写FLASH时,H-FLASHER与 H-JTAG的连接交互和调试的时候十分类似。H-FLASHER通过 RDI接口与H-JTAG SERVER进行交互,以访问和控制目标开发板。根据用户提供的配置文件,H-FLASHER最终完成FLASH烧写工作 。
<二>ARM7和ARM9
ARM7 系列微处理器为低功耗的 32 位 RISC 处理器,最适合用于对价位和功耗要求较高的消费类应用。 ARM7 微处理器系列具有如下特点:
具有嵌入式 ICE - RT 逻辑,调试开发方便。
极低的功耗,适合对功耗要求较高的应用,如便携式产品。
能够提供 0.9MIPS/MHz 的三级流水线结构。
代码密度高并兼容 16 位的 Thumb 指令集。
对操作系统的支持广泛,包括 Windows CE 、 Linux 、 Palm OS 等。
指令系统与 ARM9 系列、 ARM9E 系列和 ARM10E 系列兼容,便于用户的产品升级换代。
主频最高可达 130MIPS ,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7 系列微处理器的主要应用领域为:工业控制、 Internet 设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7 系列微处理器包括如下几种类型的核: ARM7TDMI 、 ARM7TDMI-S 、ARM720T 、 ARM7EJ 。其中, ARM7TMDI 是目前使用最广泛的 32 位嵌入式 RISC
处理器,属低端ARM 处理器核。 TDMI 的基本含义为:
T : 支持 16 为压缩指令集 Thumb
D : 支持片上 Debug
M :内嵌硬件乘法器
I : 嵌入式 ICE ,支持片上断点和调试点
ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:
5 级整数流水线,指令执行效率更高。
提供 1.1MIPS/MHz 的哈佛结构。
支持 32 位 ARM 指令集和 16 位 Thumb 指令集。
支持 32 位的高速 AMBA 总线接口。
全性能的 MMU ,支持 Windows CE 、 Linux 、 Palm OS 等多种主流嵌入式操作系统。
MPU 支持实时操作系统。
支持数据 Cache 和指令 Cache ,具有更高的指令和数据处理能力。
ARM9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字, 照相机和数字摄像机等。
ARM9 系列微处理器包含 ARM920T 、 ARM922T 和 ARM940T 三种类型,以适用于不同的应用场合