Záchrana OvisLink WL-5460 AP - JTAG

Připojení tohoto AP na JTAG konzoli není složité, ale bohužel na desce plošných spojů není vyveden konektor a JTAG rozhraní se musí připojit přímo na nožky procesoru. Pájení drátů na nožky CPU je velice pracné, proto jsem cesty prozvonil, a zjistil spojení vývodu CPU s jinýmí místy na desce, které jsou dostupnější a snadnější na připojení.

1.

Zapojení rozhraní JTAG na vývodech CPU je takové:


TMSCPU pin 8SSD - R24
TDICPU pin 33HSD - TP1
TDOCPU pin 116SSD - R27
TCKCPU pin 145HSD - jenom na procesoru
TRST_NCPU pin 146HSD - R25
SRST_NCPU pin 147SSD - R31
+3,3VJ4 pin 1HSD - konektor J4
GNDJ4 pin 4HSD - konektor J4

SSD - spodní strana desky
HSD - horní strana desky (s procesorem)

Aby se Jtag rozhraní zprovoznilo, je potřeba pin 147 (SRST_N) a pin 146 (TRST_N) přivést do logické jedničky, přivedenim +3,3V třeba z konektoru J4 seriového rozhraní přes 100 Ohm rezistor.


Pro lepší pochopení přikládám fotografie přípojných míst.


SRST_N, TDO
SRST_N, TDO
SRST_N, TMS,TDO
SRST_N, TMS,TDO
TRST_N, TCK
TRST_N, TCK
3.3V, GND, TDI
3.3V, GND, TDI
3.3V, GND
3.3V, GND, ...

Na tyto místa připájejte vodiče od JTAG převodníku.

2.

Převodník je zapojen na paralelní port počítače. Kabely pro připojení Ovislinku a PC by měly být co nejkratší, aby nedocházelo k přerušení komunikace vlivem rušení. Velice se mi osvědčílo napájet Ovislink z 12V větve PC. Když byl připojený přes trafo do sítě a na stejném okruhu se zapla indukční zátěž, tak přenos skončil s výpisem přerušení komunikace. A věřte, že po 10 hod. nahravání FW do Flash paměti to zamrzí. Tomuto jevu nezabránil ani IO 74HC244.


Napojení převodníku
Převodník a PC
Napájení AP
Napájení AP
4.

Nyní se v terminálu s právy root napíše

jtag

výpis z terminálu

JTAG Tools 0.6-cvs-20051228
Copyright (C) 2002, 2003 ETC s.r.o.
JTAG Tools is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type "quit" to exit!

Type "help" for help.

jtag>


dále se musí inicializovat JTAG kabel

jtag> cable parallel 0x378 DLC5

výpis z terminálu

Initializing Xilinx DLC5 JTAG Parallel Cable III on parallel port at 0x378

dále se musí detekovat Ovislink

jtag> detect

výpis z terminálu

IR length: 5
Chain length: 1
Device Id: 00010101001010000000000000001101
  Manufacturer: Lexra
  Part:         LX5280
  Stepping:     1
  Filename:     /usr/local/share/jtag/lexra/lx5280/lx5280
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction

dále se musí detekovat flash paměť

jtag> detectflash 0x3fc00000

výpis z terminálu

ImpCode=00001010110000000000000111100000
EJTAG version: <= 2.0
EJTAG Implementation flags: R4k ASID_8 MIPS32
Query identification string:
        Primary Algorithm Command Set and Control Interface ID Code: 0x0002 (AMD/Fujitsu Standard Command Set)
        Alternate Algorithm Command Set and Control Interface ID Code: 0x0000 (null)
Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 16 us
        Typical timeout for maximum-size multi-byte program: 0 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 512 us
        Maximum timeout for multi-byte program: 0 us
        Maximum timeout per individual block erase: 16384 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 2097152 B (2048 KiB, 2 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 1
        Number of Erase Block Regions within device: 4
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 16384 B (16 KiB)
                        Number of Erase Blocks: 1
                Region 1:
                        Erase Block Size: 8192 B (8 KiB)
                        Number of Erase Blocks: 2
                Region 2:
                        Erase Block Size: 32768 B (32 KiB)
                        Number of Erase Blocks: 1
                Region 3:
                        Erase Block Size: 65536 B (64 KiB)
                        Number of Erase Blocks: 31

Nahrání firmware (bootloaderu) do flash paměti. V mém případě jsem měl soubor boot5460.bin uložený na Desktopu a byl jsem prihlášen jako root. (/root/Desktop)

jtag> flashmem 0x3fc00000 /root/Desktop/boot5460.bin

výpis z terminálu

Chip: AMD Flash
        Manufacturer: Macronix
        Chip: MX29LV160B
        Protected: 0000
program:
flash_unlock_block 0x3FC00000 IGNORE

block 0 unlocked
flash_erase_block 0x3FC00000
flash_erase_block 0x3FC00000 DONE
erasing block 0: 0
flash_unlock_block 0x3FC04000 IGNORE

block 1 unlocked
flash_erase_block 0x3FC04000
flash_erase_block 0x3FC04000 DONE
erasing block 1: 0
flash_unlock_block 0x3FC06000 IGNORE

block 2 unlocked
flash_erase_block 0x3FC06000
flash_erase_block 0x3FC06000 DONE
erasing block 2: 0
flash_unlock_block 0x3FC08000 IGNORE

block 3 unlocked
.......................
.....................
...................
.................
atd.
5.

Po úspěšném nahrání firmwaru by mělo být AP zase schopné provozu. Z vlastní zkušenosti vím, že stačí nahrát prvních 9 bloku, pak přenos ukončit, připojit serivou konsoli, nastartovat do bootloaderu a přehrát celý firmware přes ní. Je to o hodně rychlejší postup. Zkoušel jsem také přes JTAG nahrát do AP firmware celý a AP po restartu začalo pracovat jak mělo.





Neděle / 24. září 2017 / 14:10:03
.: SmallCastle © 2006 - 2011 :.