手机在于折腾,历时5个月终于救回来了!
经历了5个月的研究,终于把我的手机救回来了。
之前的分析结果是正确的,PXA300启动过程是要加载NTIM,OBM,EBOOT,IPL。
不过这样是不能开机的,因为缺少EBOOTCFG,也就是EBOOT的启动参数,而这个启动参数却不包含在刷机ROM文件之中。
这就是导致我怎么折腾都不能启动的原因!
疑问就是这个启动参数不在ROM文件内,那它是怎么生成的呢?其内容也不会因为刷机而改变,那估计只能是厂家出厂的时候写进去的吧。
为了得到这个启动参数的内容,我在淘宝找到一个类似我手机的主板PXA310的,一个二手主板,拿回家用JTAG读Flash。
果然读到了128KB的EBOOTCFG,这里面的内容在ROM文件里是查不到的,我把这128KB写到我手机主板的FLASH里面,插上电池...
终于让我看到了久违的开机画面啊!!!太兴奋了啊,为了这个手机我花了多少的心血!
不过此时还是启动不了,因为NK部分已经残缺不全,不过这个问题很容易啦,重新进入USB Update Mode,刷入之前能用的ROM。OK
一切搞定!!!
在此保存一下研究结果,方便以后查询:
1、Nand存储结构:
Nand大小:256MB
共2048个块,块大小:128KB
起始地址 |
长度 | 内容 |
---|---|---|
0x00000 |
0x20000 |
NTIM |
0x20000 |
0x20000 |
OBM |
0x40000 |
0x40000 |
EBOOT |
0x80000 |
0x20000 |
IPL |
0xA0000 |
0x20000 |
EBTCFG |
0xC0000 |
0x60000 |
LOGO |
0x120000 |
------ |
MBR |
2、主板JTAG接口
从2013-01-01到今日2013-05-05整整5个月,我早已买了Android手机,面对这个旧手机,似乎有种物是人非的感觉啊。