sobota, 3 grudnia 2011

EJTAG_TT i Ferguson FX 6600

Za pomocą programu EJTAG Tiny Tools można zaprogramować flash w tunerze Fergoson FX 6600.
Do programowania używamy interfejsu Ejtag Tiny Tools.
Schemat znajduje się na zdjęciu poniżej.

Gotowy programator można zakupić na Allegro lub zbudować we własnym zakresie, wygląda jak na zdjęciu niżej

Ejtag wymaga zewnętrznego zasilania 3,3 V, można je pobrać z tunera lub zewnętrznego zasilacza.




Sygnały JTAG są takie jak zdjęciu niżej

Są to: TRST, TDI, TDO, TMS, TCK, GND.
Takie same sygnały mamy w EJTAG-u

Rozkręcamy tuner oczywiście nie podłączony do zasilania 220V i podłączamy ze soba poszczególne sygnały, czyli TRST w tunerze z TRST w EJTAG-u itd...


EJTAG wymaga zasilania 3.3V, można je pobrać z tunera, ja do zasilania EJTAG-a używam baterii pastylkowej 3,3V takiej, jaka jest w płytach głownych komputerów.
Łączymy Ejtag kablem LPT do gniazda w komputerze.

Teraz ważną rzeczą jest zrobienie zworki w tunerze, aby wszedł w tryb debug, co umozliwi nam wszystkie operacje na pamięci flash, w tym odczyt, zapis i kasowanie.

Zworkę robimy w miejscu oznaczonym jako R38, na zdjęciu niżej pokazano to miejsce i dodatkowo oznaczone jest cyfrą 1.


Wykonanie zworki w miejscu oznaczonym cyfrą 1 powoduje zwarcie tego miejsca do masy, ewentualnie można punkt 1 zewrzeć za pomocą krótkiego odcinka przewodu do masy tunera.

Gdy zworkę mamy już wykonaną sprawdzamy wszystkie połączenia i włączamy tuner do sieci 220V i po chwili rozłączamy zworkę lub punkt 1 odłączamy od masy.

Tuner mamy w trybie debug i możemy przystąpić do programowania pamięci flash.

Do programowania będziemy uzywać programu EJTAG Tiny Tools.
Do poprawnego działania tego programu jest wymagane zainstalowanie sterownika giveio.sys

Wersja instalacyjna sterownika giveio.sys jest do ściągnięcia niżej.
-- > GIVEIO

Ściągamy plik wypakowujemy archiwum zip i instalujemy giveo.

Po instalacji sprawdzamy czy sterownik giveio jest uruchomiony, w tym celu wchodzimy w menadżer urządzeń klikamy Start -> Panel sterowania -> System ->> klikamy zakładkę Sprzęt i Menadżer urządzeń, teraz klikamy Pokaż ukryte urządzenia.

Teraz klikamy w Non-Plug and Play Driver i szukamy sterownika giveo

Klikamy 2 razy w giveo i wchodzimy w zakładkę Driver

Widzimy, że sterownik giveo jest uruchomiony, więc zostawiamy tak i zamykamy menadżer Urządzeń.

Jeżeli sterownik giveo nie jest uruchomiony klikamy start i ustawiamy na automatyczny start w Startup na Automatic.

Teraz już możemy zająć się samym programem Ejtag Tiny Tools.
Program ściagamy z poniższego linku
-- > EJTAG Tint tools

Wypakowujemy archiwum zip i uruchamiamy program klikając EJTAG_TT_1.0.6.17.exe

Zmieniamy język na Angielski.

W Settings w Port ustawiamy odpowiedni adres portu LPT, aby sprawdzić jaki ma adres portu LPT wchodzimy w Mendżer urządzeń i szukamy portów LPT, wchodzimy we włąsciwości portu LPT i w zakładce Zasoby sprawdzamy jaki mamy Zakres Wejścia/Wyjścia.


Jak widać Zakres We/Wyj jest 0378-037F, w programie Ejtag Tiny Tools ustawiamy, więc odpowiednio port na $378.

Dalej w Settings zaznaczamy ptaszkiem Use DMA, pozostałe Reset PIO, Ali SDRAM, Watchdog pozostawiamy puste niezaznaczone.

Teraz musimy wybrać odpowiedni rodzaj procesora na jakim oparty jest tuner.
Tuner Ferguson FX 6600 oparty jest na procesorze NEC UPD61110, a więc w Processor type zaznaczamy NEC EMMA2.

Teraz musimy ustawić rodzaj pamięci flash jaki mamy w tunerze.
Ustawiamy na AMD 16 bit i zaznaczamy ptaszkiem Fast AMD/SPI, 16/8 Byte Mode niezaznaczamy i pozostawiamy puste.

Teraz musimy ustawić początkowy adres pamięci flash na 1FC00000.

Na razie z ustawień programu byłoby wszystko, klikamy Connect.
Jeżeli mamy wszystko poprawnie połączone i tuner mamy w trybie debug ze zworką w punkcie R38 do masy, program Ejtag Tiny Tools powinien wykryć procesor jako UPD61110/12 (EMMA2LL).

Jeżeli nie wykryje poprawnie procesora, to nie mamy poprawnego połączenia EJTAGA z tunerem lub tuner nie jest w trybie Debug.

Dalej program powinien wykryć pamięć flash i wyświetlić odpowiednią informację w programie, czyli jak na poniższym obrazku Found flash: ManufactureID = 0020 DeviceID = 22C4.

Dla nas ważne jest DeviceID = 22C4, ponieważ musimy odpowiednio wyedytować plik EJTAG.ini, który znajduje sie w katalogu z programem Ejtag Tiny Tools.
Otwieramy plik EJTAG.ini w notatniku i go edytujemy.

W kwadratowym nawiasie wpisujemy nasze Device ID takie jakie wykryło nam w programie czyli 22C4, reszte wpisujemy tak jak na powyższym obrazku czyli:
[22C4]
4000=Region0
6000=Region1
8000=Region2
10000=Region3
20000=Region4
30000=Region5
40000=Region6
50000=Region7
60000=Region8
70000=Region9
80000=Region10
90000=Region11
A0000=Region12
B0000=Region13
C0000=Region14
D0000=Region15
E0000=Region16
F0000=Region17
100000=Region18
100000=FlashSize

Gdy wpiszemy nasze DeviceID i rozmiar (FlashSize) i adresy (Region) pamięci flash zapisujemy plik EJTAG.ini i zamykamy go.

Teraz ponowanie klikamy Connect i powinny uaktywnić się klawisze Read - służący do odczytu pamięci flash, Write - służący do zapisu pamięci flash, Erase flash - służący do kasowania pamięci flash.

Teraz musimy ustawić sobie długość (rozmiar) pamięci flash.
Dekoder FX 6600 posiada flash o pojemności 2MB, ustawiamy więc dłogość pliku na Offset: 0 i Lenght: 200000.
Pierwsze co powinnyśmy zrobić to zapisać sobie pamięć flash.
Klikamy więc Read i zapisujemy sobie pamięć flash, program w trakcie odczytu pownien wyglądać jak niżej.

Po odczycie kasujemy pamięć flash klikajac Erase i na koniec zapisujemy dump pamięci.
Po zakończeniu wyłączamy tuner, zdejmujemy zworkę i odłączamy EJTAG.

Niżej jest do pobrania pełny 2MB poprawny dump pamięci do dekodera FX 6600.
-- > Dump 2MB FX6600

Powodzenia w ratowaniu FX6600 !

Brak komentarzy:

Prześlij komentarz