15 февр. 2012 г.

Как достать ушедший в кому КПК... или JTAG-прошивка...

и так начнем

неважно как, но случилось моему зверьку впасть в кому...
пришлось его оттуда доставать...

Имеем:
Аппаратную часть:

1. jtag пины именно на процессор с памятью(jtag_pin.jpg). не путать с этими, для xilinx(jtag_xilinx.jpg), со стороны батареи.
Нужные пины расположены со стороны экрана, возле контактов на дисплей.

2. jtag-прошивальщик(jtag_sch.gif). (от себя, если есть где достать на время usb-jtag, то берите его, здорово сократите время.)
У меня был виглер на lpt(jtag_3.jpg). запитал его от самого же кпк, точнее от кредла(jtag_1.jpg).

3. Паяльник с маленьким жалом на ватт 20-15.

4. Я припаял(шлейф_1.jpg и шлейф_2.jpg) кусочек 10-15 см из шлейфа от флоппи-дисковода(питающий шлейф на двигатель), так проще припаиваться к прошивальщику. можно собрать зверя и не собирать/разбирать его, после каждой жесткой прошивки и не мешает батареи кстати(правда, если убрать изоленту с конца шлейфа)

Программная часть:

5. устанавливаем(на ваше усмотрение) программу H-Jtag.
позволяет увидеть, правильно ли вы подключили кпк через jtag. если сделали все правильно, то в окне h-jtag должны увидеть процессор и его ID(jtag_view.png)
одно НО. хоть программа и позволяет менять контакты на lpt, отклоняться от схемы не советую, так как программа, с которой будем работать, этого не умеет, и не увидит тогда кпк.

6. качаем файл loox_ambolatory.rar, распаковываем, заходим в каталог JFlash. там программа JFlashmm.exe, с ее помощью будем заливать во флеш ось, bootloader и прочее.
образы того, что будем заливать сделал Eltaron, за что ему большая благодарность.
распаковываем Giveio.zip, устанавливаем... это драйверы для работы.

7. имеем образы:
flash_1_boot.bin - загрузчик оси, он же bootloader, идет с 0 до 7ffff
flash_2_loox_store.bin - раздел looxstorage, начинается от 2200000 и до конца 3ffffff
flash_3_all.bin - весь образ флеш. c 0 до 3ffffff
flash_1_boot_hull.bin - раздел загрузчика, заполненный полностью нулями. надеюсь, что вам не понадобиться.

8. копируем нужные(или все) бинарники в каталог JFlash и запускаем start.bat
пишем что нам нужно залить в память кпк.

[code] jflashmm pxa27x32 имя_файла.bin P адрес куда лить PAR [/code]

пример:
[code]jflashmm pxa27x32 flash_2_loox_store.bin P 2200000 PAR[/code]

будет заливаться раздел looxstorage начиная с адреса 2200000

и ждем. 512 байт льются минут 25-30. раздел looxstorage льется около 15-18 часов. вся прошивка льется около 25-30 часов.

если будет такое:
[code]
C:\loox\JFlash>jflashmm pxa27x32 loox720.bin P 0 PAR

JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation

PLATFORM SELECTION:
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.001

PXA27x revision ??
Upper and Lower flash memory ID does not match.
You may have a damaged flash memory.
Upper half reads: EA00
Lower half reads: 3FE
Failed to read the Flash ID. Retrying 4 more times...
Found flash type: 28F256L18B

Unlocking block at address 0
Erasing block at address 0
Unlocking block at address 10000
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
Unlocking block at address 80000
Erasing block at address 80000
Starting programming
Using BUFFER programming mode...
Writing flash at hex address 7f740, 99.57% done
Programming done
Starting Verify
Verifying flash at hex address 7fe68, 99.92% done
Verification successful!

C:\loox\JFlash>
[/code]

вы закончили отключаем питание, отпаиваем прошивальщик. включаем кпк. и вуаля. он заработал.

8.1 если увидели такое, при заливке раздела looxstorage, возможно и раздела где винда находится(до 2200000, у меня выскакивало только после 2200000, если до, то спокойно писалось):

[code]
Erasing block at address 3f80000
Unlocking block at address 3fc0000
Erasing block at address 3fc0000
Starting programming
Using BUFFER programming mode...
Writing flash at hex address 3fff400, 99.99% done
Programming done
Starting Verify
verify error at address = 2200000 exp_dat = f49b2e9c act_dat = 920092


c:\loox\JFlash>jflashmm pxa27x32 patch.bin P B219240 PAR
JFLASH Version 5.01.007
COPYRIGHT (C) 2000 - 2003 Intel Corporation

PLATFORM SELECTION:
Processor= PXA27x
Development System= Mainstone
Data Version= 1.00.001

PXA27x revision ??
Found flash type: 28F256L18B

Unlocking block at address 3fc0000
Erasing block at address 3fc0000
Starting programming
Using BUFFER programming mode...

Programming done
Starting Verify
verify error at address = b219240 exp_dat = 1a000022 act_dat = ff00ff
[/code]

поздравляю, вы попали берете файл flash_1_boot_hull.bin, заливаете его вместо загрузчика.
потом заливаете нулями также весь раздел до 2200000.
только потом заливаете заново раздел looxstorage.
и в обратном порядке: сначала винду, потом загрузчик. и все заработает. ( у меня такой случай. долго пришлось ждать)

p.s. все файлы лежат в архиве.

p.p.s. также, всобачил аккумулятор на 40мА*ч (backup_akk_1.jpg, backup_akk_2.jpg, backup_akk_3.jpg), место много оказалось, ничего не выпирает, тока его надо засунуть в термокембрик. прямо под ним какие то контакты, чтобы не рисковать их замкнуть.


1 комментарий:

  1. ааа, теги не пашут...
    и как файл прикрепить?!

    ОтветитьУдалить