Извините, что прерываю, но хочу поделиться своим опытом. У меня есть 2 РМР плеера:
IHTOOM (только черный и IHTOOM, но плата внутри PSP-800S) и
JXD-651. У знакомого был Explay Q3 но с битой прошивой. После анализа стало ясно, что все 3 плеера на одном чипе: SunPlus SPCA-536. Начали мы мучить наши плеера. Я отпаял NANDы, слил дампы и начал изучать. Ковырять 512МБ данных сложновато, но я сделал ход конем: залил на всю память 1 файл с содержанием одинаковых байт. Выделил я около 8МБ явной прошивки, нашел там фонты и пр. лабуду. После некоторого времени ковыряния, я случайно наткнулся на короткий датащит (даже не датащит а флайер) этого санплюса. Там говорилось об ISP режиме. Стали мы ковырять его и выяснили: нам нужен ISP_V5.2.2 и нога на чипе, что включает этот ISP. Это оказались локбитсы, функция которых совпадает с адресными линиями DRAM. После некоторых опытов стало ясно, что ISP работает, однако нормальный плеер он портит, а вот убитый не восстанавливает. Вот тогда то и пришла идея найти в нем консоль. Есть 2 вывода RxD и TxD. причем, чип BGA корпусе, RxD лежит с краю, а вот TxD внутри: 4 ряд 4 столбец. Необхтдим был как раз TxD, так как он должен был гадить логи в консоль. Понимая, что BGA я дома не попаяю, я взял ПЭЛ провод, изогнул его буквой "Г" и начал пихать его между ног чипа, пытаясь попасть на нужный шарик. Минут через 20 мне это удалось и плеер вывалил лог включения:
Код:
NAND boot
NAND finish
+----------------------------+
| NAND loader II |
| NAND loader II load finish |
+----------------------------+
TURNKEY PMP V2.0
_____________________________________
F/W compiled at 10:34:55, Sep 15 2006
FRONT enter hwFrontInit OV9650 step1
monitorH = 640, monitorV = 480
FRONT enter hwfrontFramRateSet OV9650 step4
pixclk = 8000000
newftotal = 1F4
ftotal = 1F4
hwFrontFrameRateSet vaule=14
videomode = 0
FRONT Exit hwfrontFramRateSet OV9650
Tidx = 0, PreTidx
espline = 12C
ftotal = 1F4
pixclk = 8000000
hwFrontExpTimeSet value=14D
ltotal=320
ESP_LINE = 300
FRONT exit hwFrontInit OV9650 step2
Memory card detecting, please wait
Maker ID=0xAD
Device ID=0xDC
hour=0
minu=0
hour=0
minu=0
hwDispOsdSet
pipW=320
pipH=240
befor0x00 0x00
pbuf = 0xACB67000
after0x78 0x78
host enable 0
OTG DP sts=0
OTG DM sts=0
The DC offset 127
asf pasfGenCb->pidxBuf=0xACFBD000
asf sysgMemFreeAddrGet()=0x7FE800
sysgMemAppAddrGet()=0x5F3000
paviGenCb->pidxBuf=0xAD0BD000
sysgMemFreeAddrGet()=0x866800
Press enter to continue...
UITASK
Read 32x32 font from NAND ...
count=0, w=0 h=0
Read 32x32 font End
OSD INIT OK
Set: rtcTick=0x4274CA5A
_______________________________________________
Spca536 DRAM SIZE (MBit) 128
Spca536 Firmware Version 2.0.0
_______________________________________________
5 2 0
main menu
dispW=320
dispH=240
LoadBG:11
Entry 3A Task!
$$plug off
uiUsbPlugOut
Maker ID=0xAD
Device ID=0xDC
ECC err, phySect=19200
NAND rsv header err(ascii)
*msg = FFFFFFFF
*msg = 00000006
3 0 0
dispW=320
dispH=240
LoadBG:11
myplug out
Я закрепил проводок селиконом и у меня получилось вот так:
А вот что он пишет при ISP:
Код:
IspCodeSize = 0x2A7000
read bad blk cnt first
first bad blk=3
Total blks=4096
read bad blk cnt second
second bad blk=3
Bad pixel start page:0x00000000, total page:0x00000020
UI Parameter start page: 0x0020, total page: 0x0001
Open picture start page: 0x0021, total page: 0x0384
Chinese Simplified start page: 0x03A5, total page: 0x1000
Chinese Traditional start page: 0x13A5, total page: 0x1AAE
Total reserved page: 0x2E53
NAND header programming success...
Magic word: Sunplus nand loader II
1: FW blks=1, startBlk=47
ISP success
FW2 blks=22, startBlk=48
Nand program comp...
NAND format...
NAND internal ISP finished
И оно занимает некоторое время (до 2х минут бывало), при этом на экране ничего нет, а кнопку повер надо держать руками. Так что вот так, надеюсь кому-то поможет эта инфа + можете обращаться за советом.