Vyhledat témata bez odpovědí
|
Zobrazit aktivní témata
Obsah fóra
»
Vyvoj firmware
Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Předmět příspěvku:
USB-JTAG pomocí FT4232H - postupný návod
Napsal: stř 27. lis 2013 20:34:06
iCAN3800-TW
fórum o téhle krabičce plné nějakých elektronických švábů
Přihlásit se
Registrovat
FAQ
Hledat
Právě je pát 27. lis 2015 13:53:59
USB-JTAG pomocí FT4232H - postupný návod
Stránka 1 z 1
[ Příspěvků: 5 ]
Verze pro tisk
Předchozí téma
|
Následující téma
Autor
Zpráva
joseff
Registrován: pon 09. kvě
2011 23:17:24
Příspěvky: 459
!!!POZOR!!!
Tento návod rozhodně nemá sloužit k páchání jakékoliv nelegálni činnosti.
Má sloužit pouze k seznámení s rozhraním JTAG a jeho používáním.
Návod je určený spíše pro pokročilejší uživatele.
Tvůrce návodu nebo někdo jiný nepřebírá jakoukoliv odpovědnost za škody vzniklé
na PC, set-top-boxu nebo USB rozhraní.
Návod bude podrobnější a protože toho je hodně, tak informace budu přidávat
postupně jako další odpověď, tak to bude i přehlednější.
Na co je JTAG dobrý?
Pokud Vám funguje set-top-box a jste běžný uživatel, tak bohužel naprosto na nic.
Ale pokud se Vám box nerozbíhá, nebo zasekává a je vidět, že to je nějaký SW problém
a nedaří se to opravit jinou cestou, tak je možno přes JTAG nahrát potřebné věci třeba z jiného podobného zařízení.
Nebo pokud vyvíjíte kompletně nový software.
Zde je ale potřeba používat i Linux Fedora, protože OS v boxu je STLinux.
SW pro rozhraní byl (a stále je) pro LINUX, ale výrobcem byla tato verze upravena i pro Windows a funguje.
Musím zklamat bězné uživatele Windows. Po nainstalování všeho potřebného se používají
tři různé příkazové řádky.
Neexistuje tam vůbec žádné grafické rozhraní, na které je uživatel Windows zvyklý.
Je potřeba alespoň částečná znalost Linuxu a znát potřebné příkazy, kterých je hodně.
Takže představa nainstaluji program, propojím to, stisknu první tlačítko, něco nastavím,
stisknu druhé tlačítko a je hotovo, tímto padá. (Toto byla má představa, že to bude takto fungovat.)
Nevím proč, ale instruce použité v programu pod Windows se nedají použít v Linuxové verzi. Jsou si sice dost
podoblé,
ale pokaždé tam je nutno něco upravit, jinak by to nefungovalo. A samozřejmě to platí i obráceně.
------------------------------------------------------------------------------------------
Tento návod byl vytvořen z různých návodů na internetu.
Popsaný postup byl odzkoušen na set-top-boxu ADB3800TW a funguje. Potíže nejsou vyloučené.
Největší poděkování patří uživateli RIMINI (který mi hodně pomohl s příkazy
a nastavitelnými parametry) a uživateli Daniel, který již podobné návody napsal.
Původně jsem chtěl použít jednoduché a velmi levné LPT-JTAG rozhraní, bohužel je pro tento set-top-box moc
jednoduché.
Pro tento JTAG bylo vytvořeno výrobcem vlastní rozhraní nazvané
ST Micro Connect 2 (STMC2), které stojí kolem 2000 dolarů.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
1 z 17
2015-11-27 13:00
Jeho levnější variantou je
ST Micro Connect Lite (STMCLite-TypeA) "low-cost host-target interface", které stojí 200 dolarů.
Na našem trhu je již možno koupit alternativní a cenově dostupné USB rozhraní
FTDI FT4232H MINI MODULE, USB na 4x sériový port které stojí 700 Kč s DPH.
- použitý čip je hlavní součástí rozhraní "ST Micro Connect Lite"
- rozhraní funguje na čipy od STMicroelectronics (nejen ST40 Core, ale též starší ST20 Core a případně i jiné čipy)
nebo FT2232H, USB na 2x sériový port který stojí 680 Kč s DPH.
- funguje stejně spolehlivě jako jeho novější verze
Též by mělo být možno použít rozhraní UM232H mini-module.
------------------------------------------------------------------------------------------------------------------------------------------------
Já jsem použil rozhraní FTDI FT4232H.
Domu mi dorazila krabička od sirek. Nebyl u toho žádný návod, žádné CD, žádný propojovací kablík k PC.
Problém byl propojovací kablík, protože rozhraní nemá běžné USB rozhraní jako PC, ale má
USB Mini-B (Podle datascheetu, nevím zda je toto označení přesné, dnes je těchto mini USB verzí více.)
Naštěstí jsem měl doma propojovací kabel ke staršímu digitálnímu fotoaparátu, který šel použít i na toto rozhraní.
Do počítače se musí doinstalovat několik programů.
Všechny jsou legálně zadarmo volně dostupné na internetu.
Pouze bych doporučit na testování raději použít jiný počítač.
Já v PC odpojil HDD, připojil nový prázdný HDD a vše potřebné tam nainstaloval (Windows 2000),
tím mám jistotu, že mi to nic nerozhodí. A pokud by to nečekaně krachlo, tak se nic nestane.
Napřed se musí z internetu stáhnout vše potřebné. Pokud možno novější (poslední) verzi.
Ovladač na USB rozhraní.
Kód:
http://www.ftdichip.com/Drivers/D2XX.htm
Tam hledat D2XX Drivers / CDM 2.08.28 WHQL Certified
Na těchto stránkách jsou všechny potřebné dokumenty k těmto USB rozhraním.
Též je tam podpora (Support/SoftwareExamples/) pro programátory pod C, Delphi, Visual Basic.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
2 z 17
2015-11-27 13:00
Předmět příspěvku:
Re: USB-JTAG pomocí FT4232H - postupný návod
Napsal: čtv 28. lis 2013 13:22:38
Program na změnu identifikace USB rozhraní:
Kód:
http://www.ftdichip.com/Support/Utilities.htm
Tam hledat MProg 3.5 - EEPROM Programming Utility
Kód:
ftp://ftp.stlinux.com/pub/tools/products/index.htm
Ovladač na "ST Micro Connect Lite" rozhraní.
Kód:
ftp://ftp.stlinux.com/pub/tools/products/stmc2/index.htm
Tam hledat stm-stmc.160-1.6.0-MSWin32-x86.exe
Program používaný pro rozhraní "ST Micro Connect Lite":
Kód:
ftp://ftp.stlinux.com/pub/tools/products/st40tools/index.htm
Tam hledat ST40 Micro Toolset stm-st40.530-5.3.0-MSWin32-x86.exe
Program na kompilaci potřebných modulů pro napojení na box:
- Download ActivePerl Free Community Edition
Kód:
http://www.activestate.com/activeperl
Tam hledat ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi
Další informace.
HOWTO_JTAG_Interface_STMCLT_Clone_REV3.pdf
Nahoru
joseff
Registrován: pon 09. kvě
2011 23:17:24
Příspěvky: 459
Je možno toto USB rozhraní použít úspěšně na různé přístroje, které mají JTAG?
No, teoreticky ano.
1) Počet a rozmístění pinů může být naprosto jiné.
Náš JTAG má 20 pinů a jedna celá řada je GND (mínus). Jinde to může být jen 9 pinů,
kde jeden z nich je mínus. Jinde to mohou být 2x 4 řady a mínus se připojuje třeba
přes kostru.
2) Ikdyž správně určíte rozmístění pinů a připojíte se na zařízení, tak se může
stát, že se Vám nepodaří z ní nic vytáhnout. Mohou tam být použity IO, jejichž
parametry nejsou v seznamu programu od ST.
Toto platí i pro náš set-top-box. Tam bylo nutno dopsat tyto hodnoty před kompilací
potřebného modulu.
Podle nápisu na IO se musí najít podrobnější dokumenty, nebo případně něco při náběhu vyhodí
konzola, nebo při špatném napojení přes JTAG to vypíše, že nezná tento čip s označením...
3) Na JTAG rozhraní mohl výrobce použít nějaký druh ochrany, kterou pokud nevíte jak obejít,
tak se Vám nepodaří na rozhraní úspěšně připojit.
Dostanete pouze chybové hlášky a mezi nimi je i obávaný "Sentinel not found".
Kód:
mb411 initialization complete
SDI [ERROR] :: [SERVER] serviceASEMode: Sentinel not found (0xffffffff != 0xbeefface)
SDI [ERROR] :: [SERVER] sdi_Attach: Unable to service target after attaching
Toto se zatím nepovedlo obejít. Na řešení se pracuje.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
3 z 17
2015-11-27 13:00
Předmět příspěvku:
Re: USB-JTAG pomocí FT4232H - postupný návod
Napsal: ned 01. pro 2013 2:33:34
Zde by pomohlo kdyby se zapojilo více uživatelů různých boxů s čipem STx7100 nebo
podobným a porovnávalo se zapojení tišťáku s ochranou a bez ní.
Jak poznám, že se přes JTAG do mého boxu nedostanu ještě než si koupím nějaké JTAG rozhraní?
1) Vedle procesoru (na kterém je většinou menší chladič) jsou dva čipy které laicky řečeno
slouží jako malé HDD. Občas tento prostor bývá bíle orámován a je tam napsáno GLUE AREA.
Pokud tam je nanesena silná (tvrdá) vrstava epoxidového lepidla, která zabraňuje přečtení
označení IO a současně znemožňuje jejich odpájení.
- to je skoro jisté, že tam ochrana bude
2) V místě připojení JTAG nejsou připájeny napojovací piny.
- nemusí nutně znamenat, že se nedá přes JTAG napojit, třeba XBOX je tam nemá a na JTAG se dá
bez problémů napojit i přes LPT port
3) Změřením napětí mezi JTAG piny a mínusem (GND). Pokud se jedná o 20 pin JTAG, tak celá jedna
řada je propojena s mínusem. U druhé řady jeden pin hned na kraji není vůbec k ničemu připojen.
(Zda je či není připojen netuším, tíšťák je oboustranný a pod viditelnou vodivou vrstvou je ještě
jedna vodivá vrstva, takže má 4 různé vodivé vrstvy, ale nepodařilo se mi dohledat, zda někam vede.
Na +3,3V nebo mínus to rozhodně není.)
Od tohoto pinu změřit na čtvrtém pinu v řade napětí mezi pinem a GND.
Tento připojovací pin má pojmenování nASEBRK.
Pokud je na něm napětí +3,3V nebo +3,2V tak by mělo být možno se přes JTAG připojit.
Pokud je na něm napětí +2,5V nebo nižší, tak bude problém se přes JTAG připojit.
V příloze je schéma, jak to je v našem set-top-boxu na tišťáku připojeno mezi CPU a JTAG přípojkou.
- je to na 98 procent odpovídající, více se mi nepodařilo dohledat
Proměřit to bylo možno jen díky německému set-top-boxu Alice, protože náš tišťák
nemá na pájených bodech vodivou vrstvu, ale Alice to má všechno hezky potažené cínem,
takže to šlo dohledat a proměřit.
Přílohy:
JTAG stx7100 voltage.jpg [ 132 KiB | Zobrazeno 1842 krát ]
ADB-HSN-3800-JTAG.jpg [ 262.93 KiB | Zobrazeno 2649 krát ]
Nahoru
joseff
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
4 z 17
2015-11-27 13:00
Registrován: pon 09. kvě
2011 23:17:24
Příspěvky: 459
Před použitím USB rozhraní se raději dotkněte plechové stěny počítače, protože se dotýkáte
přímo kontaktů čipu a statický výboj by ho mohl poškodit.
Rozhraní můžete odpovídajícím USB kabelem připojit k PC, ale nic se nestane.
Počítač nenajde žádné nové zařízení.
Důvodem je, že se napřed musí na čip připojit napájení +3,3V.
Zde jsou dvě možnosti.
Použije se nějaký externí zdroj 3,3V ale to je zbytečně složité, nebo se použije
vlastní zdroj rozhraní, což je mnohem jednodušší a bez problémů.
Rozhraní používá jako zdroj +5V z USB. Má integrovaný stabilizátor napětí, který
z těchto pěti voltů udělá potřebné 3,3V a my to jen musíme připojit na odpovídající místa.
Proč to již není propojeno?
Toto rozhraní je již sestavená víceúčelová stavebnice určená pro kutily, servisní techniky
a vývojáře, kteří to mohou použít jak budou potřebovat.
Jak to tedy propojit?
Na všechny kontakty jsou připájeny piny (jumpery).
- to umožňuje použít nastrkávací kontakty, nebo to kompletně připájet na dirkovaný tišťák, nebo pájet drátky na
piny
Nedoporučuji na piny něco pájet. Uskladnění je složitější, kdykoliv může drátek odpadnout
a něco poškodit a pokud budete potřebovat jiné propojení, tak to bude složitěší.
Já jsem použil nastrkávací kontakty.
Rozhraní má dva dvouřadé konektorové kolíky s 26 piny.
Je možno koupit již hotový datový kabel 2 x 13 s konektorem pro počítač (něco jako na HDD),
nebo jednotlivé konektory (tyčinky) na které se uchytí vždy jeden ohebný drátek.
Jednotlivé připojovací tyčinky jsou spíše vhodné pro servisního technika, který
toto rozhraní použije jednou týdně, ale pokaždé na jiné zařízení.
- často se používá již hotový 25cm dlouhý datový kabel s konektorem 2 x 13 a na druhé straně
je každý drátek zakončen vlastním nastrkávacím kontaktem (tyčinkou)
Pro uživatele, který to chce používat pouze pro tento set-top-box, nebo jiný 20 pin JTAG
s naprosto stejným rozmístěním datových kontaktů rozhodně doporučuji konektor v celku.
Připojení a odpojení je potom velice rychlé a je méně pravděpodobné nesprávné propojení.
Já jsem použil 2 datové kabely od disketové mechaniky.
Ten má sice 2 x 17 připojovacích kontaktů, ale drátky jsou ohebné a v jedné řadě pevně pohromadě,
dá se na ně dobře pájet a již jsou nacvaknuty na potřebný konektor.
Tyto dva kablíky jsem rozstříhnul tak, abych získal 3 připojovací kabely, každý o délce cca. 13cm.
Délka vodičů by měla být co nejkratší, ale použité rozhraní má v sobě komponenty, které
zesilují vstupní signá, tak by to nemělo být tak tragické. Když se podíváme, jak dlouvý je datový kabel k HDD v
PC,
tak to asi nebude tak tragické.
Kablíky jsem popsal a přebytečné otvory jsem zaplnil aby to nebylo možno zapojit nějak jinak.
Ikdyž to tak může na první pohled vypadat, tak tyto dvě řady v konektoru nejsou nijak vzájemně propojeny.
Pokaždé to je jeden samostatný kontakt, na který je připojen jeden drátek.
Toto zdůrazňuji proto, protože JTAG má jednu celou řadu mínusovou a pokud by na ni někdo
připojil datové kontakty v domění, že to je jedno, tak by mohla vzniknout nějaké škoda na rozhraní.
Jak tedy prodrátovat rozhraní?
Odpojte ho od PC.
Připojte oba připravené konektory s drátky na piny CN2 a CN3.
Položte rozhraní na stůl tak, že USB přípojka a čip jsou z vrchu vidět.
Nyní můžete pohodlně prozvánět multimetrem připájené piny a hledat odpovídající vodič.
Takto to prodrátovat:
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
5 z 17
2015-11-27 13:00
Fialovou barvou je realizováno vlastní napájení rozhraní.
Modrá barva je mínus, který se musí přivést na mínus set-top-boxu.
Oranžová je datové připojení na JTAG boxu.
Pokud si nebudete jisti, rozmístěním, tak se orientujte podle mínusových pinů 2, 4, 6 na CN2.
Tyto piny jsou vedle sebe, jsou spolu propojeny a jsou propojeny s plechovou stěnou mini USB.
Napřed jenom propojte drátky na CN3 pin 1 s pinem 3.
Nyní, připájejte vzájemně k sobě (do jednoho bodu) konce drátků těchto pinů:
od CN2: 1, 3, 5, 11, 21
od CN3: 12, 22
Tímto prodrátováním by nyní měly fungovat všecny 4 sériové porty na tomto rozhraní
a PC by již měl poznat, že je rozhraní k němu připojeno.
Nyní použijeme poslední třetí připravený konektor s drátky.
Pokud použijete konektor od disketovky, tak z prostorových důvodů ho musíte na JTAGu
vycentrovat, jinak ho kvůli okolním kondenzátorům nepřipojíte.
Je jedno, jak si to prodrátujete, možnosti jsou dvě. Buď se bude rozhraní připojovat
směrem od SCARTu, nebo směrem od předního panelu.
Na straně, kde jsou mínusy doporučuji nalepid modrou izolačku a to pouze v rozmezí připájených pinů
a všechny volné otvory, kde nejsou připojeny piny doporučuji něčím zapatlat.
Pomocí modrého proužku poznáte, jak má být datový kabel připojen a tím, že jsou
ostatní otvory zacpány, tak není možno tento konektor jinak připojit, než tak, jak má být.
--------------------------------------------------------------------------------------------------------------------------------------
V PC najděte stáhnutý soubor "CDM 2.08.28 WHQL Certified.zip" a rozbalte ho. (Ovladače na USB rozhraní)
Pokud možno třeba rovnou na C:/ nebo do složky C:/a/
Připojte rozhraní pomocí USB k PC. PC by měl za pár sekund hlásit, že našel nový hardware
a je potřeba doinstalovat ovladače. Ve volbě napřed hledat vhodné ovladače a potom zakliknou
že upřesníte umístění vhodných modulů sám.
Jděte do rozbalené složky s ovladači, jakmile se Vám zobrazí, že tam je něco použitelného, tak neklikejte
na soubor, ale na OK/otevřít. Potom bude nová výzva, toto udělat naprosto stejně ještě jednou.
Mám pocit, že restartovat počítač nebude nutné.
Pro kontrolu jít do, Tento počítač/Vlastnosti/Hardware/Správce zařízení
Pokud byly použity vhodné ovladače, tak by tam neměl bý žádný přeškrtnutý otazník.
V kolonce "Porty COM a LPT" jsou 4 nové porty "USB Serial Port" COM11, COM12, COM13, COM14
a někde dole je "Řadiče sběrnice USB" a v ní 4 nové USB porty "USB Serial Converter A až D".
Pokud to zhruba odpovídá, tak můžete používat 4 nové sériové porty, které jsou připojeny
přes USB, ale chovají se jako běžný sériový port. Pouze by u některého programu by mohl vzniknout
problém, že on bude hledat připojení přes COM1 a Vy tam máte COM11, COM12, COM13, COM14.
Nyní nainstalujte program MProg 3.5
Připojte USB rozhraní a spusťte program MProg 3.5
Jděte do lišty a stiskněte Tools/Read and Parse
Právě se načetly aktuální údaje, které jsou nastaveny v čipu.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
6 z 17
2015-11-27 13:00
- pravý podélný panel by se měl sám překliknout na FT4232H
Nyní se musí dát uložit tyto údaje do PC. File/Save As...
Tento soubor si hned přesuňte někam jinam, aby bylo možno případně tyto hodnoty zase vrátit
pokud bude z nějakého důvodu potřeba.
Uložením jsme se dostaly do programovacího režimu.
Hodnoty upravte podle obrázku. Dodržujte mezery a velká a malá písmena.
Kód:
Vendor ID:
0483
Product ID:
3747
Bus Powered 200 mili Amps
Serial Number Prefix:
ST
Fixed Serial Number:
STMCLT1000
Manufacturer:
ST
Product Description:
ST Micro Connect Lite
FT4232H:
D2XX Direct
D2XX Direct
Virtual COM Port
Virtual COM Port
Tím, že rozhraní přejmenujete, tak nebude rozpoznáno a bude to chtít nahrát nové ovladače.
Pokud se nebude název shodovat, tak bude problém doinstalovat potřebný ovladač a tím
i změnit název rozhraní.
Jděte do lišty a stiskněte Device/Program
Počkejte, až se změna parametrů čipu dokončí, ukončete MProg 3.5 a odpojte USB rozhraní.
Připojte USB rozhraní.
Pokud se přenos povedl, tak by PC měl hlásit, že našel nové rozhraní, pro které nemá ovladače a bude je chtít
vyhledat.
Vyhledávání ovladačů hned ukončete a odpojte rozhraní.
Napřed se musí nainstalovat program "ST40 Micro Toolset 5.3.0" (stm-st40.530-5.3.0-MSWin32-x86.exe)
Doporučuji nainstalovat program na co nejjednodušší umístění. Dost často se půjde dovnitř
kvůli různým úpravám, nebo návodům, tak aby nebylo nutno to dlouho proklikávat.
Pokud bude dotaz, zda nainstalovat i nějaké návody, nebo dokumenty, tak rozhodně ano, z toho
se dá též čerpat hodně informací.
Where would you like to create product icons? (kam chcete umístit spouštěcí ikony)
- rozhodně na plochu, to ušetří hodně času "On the Desktop"
Zakliknout "Prepend toolset bin directory to your path"
Registrovat se nemusíte.
Teprve nyní budeme instalovat ovladače pro rozhraní "ST Micro Connect Lite" (stm-stmc.160-1.6.0-MSWin32-
x86.exe)
Je možné, že to během instalace bude chtít aby bylo rozhraní připojeno (nebo taky ne).
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
7 z 17
2015-11-27 13:00
Instalaci je možno udělat do složky předchozího programu, nebo do jiné vlastní složky.
V této složce je i podrobná dokumentace k jednotlivým rozhraním od ST.
Zakliknout "Prepend toolset bin directory to your path"
Po dokončení to možná bude chtít restartovat počítač.
Připojte USB rozhraní, jehož parametry jste změnily.
PC by měl sám najít vhodné ovladače.
Pro kontrolu jít do, Tento počítač/Vlastnosti/Hardware/Správce zařízení
Pokud byly použity vhodné ovladače, tak by tam neměl bý žádný přeškrtnutý otazník.
V kolonce "Porty COM a LPT" jsou 2 nové porty "STMCLite Serial Port" COM9, COM10,
a někde dole je "Řadiče sběrnice USB" a v ní 4 nové USB porty "ST Micro Connect Lite A až D".
- ty dva COM porty se dají použít třeba pro konzoli, nebo něco jiného
Nyní máte plně fungující rozhraní, pomocí kterého se můžete připojit na JTAG nějakého zařízení.
Ještě nainstalujte ActivePerl Free Community Edition.
Přílohy:
FT4232-USB-Jtag-deska.jpg [ 167.57 KiB | Zobrazeno 2711 krát ]
MProg1.jpg [ 162.38 KiB | Zobrazeno 2711 krát ]
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
8 z 17
2015-11-27 13:00
Předmět příspěvku:
Re: USB-JTAG pomocí FT4232H - postupný návod
Napsal: pon 16. pro 2013 17:05:09
MProg2.jpg [ 166.21 KiB | Zobrazeno 2711 krát ]
prodratovano.jpg [ 556.67 KiB | Zobrazeno 2711 krát ]
Nahoru
joseff
Registrován: pon 09. kvě
2011 23:17:24
Příspěvky: 459
Tak se tedy přípojíme na JTAG = "Joint Test Action Group"
Důležité informace, trocha teorie:
Toto připojení vede přímo do procesoru STx7100.
Pokud chcete podrobnější informace k procesoru, tak hledat na internetu jenom STx7100 nebo STx7109
a najde Vám to 100 stránkovou dokumentaci k tomuto čipu a nebo jiným, které hledáte.
Čip používá pro přenos dat napětí +3,3V, jsou tam sice sérioparalelně připojeny rezistory,
ale nedoporučuji připojit přímo +5V, mohlo by to procesor poškodit.
Většina potřebných dokumentů .pdf se najde mezi složkami v nainstalovaném programu:
C:\STMicroToolset40R5.3.0\doc\pdf\
V manuálu od ST:
UM1250
User manual
ST40 Micro Toolset GDB command scripts
najdete na straně 13 podporované cíle (procesory), jejichž parametry program zná.
Další najdete třeba tady:
Kód:
ftp://ftp.stlinux.com/pub/tools/products/stmc2/R1.1.1/doc/targetpacks.htm
Před použitím USB rozhraní se raději dotkněte plechové stěny počítače.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
9 z 17
2015-11-27 13:00
PC může být zapnutý, set-top-box by měl být vypnutý. Připojte kabel na JTAG set-top-boxu.
Mezi set-top-box a propojovací kabel+rozhraní raději vložte papír formátu A4, aby se zabránilo
nechtěnému dotyku nějaké součástky v boxu s USB rozhraním.
Propojte USB rozhraní speciálním USB kabelem s PC. Připojte napájení k set-top-boxu.
Též je možné připojit USB rozhraní, připojit napájení k boxu a teprve potom propojit
USB rozhraní s PC, ale to způsobí, že se set-top-box rebootuje, protože zakolísá napětí
na resetovacím pinu.
-----------------------------------------------------------------------------------
Na ploše monitoru PC jsou tři zástupci - "ST40 Micro Toolset" - "Insight" - "GDB"
(pokud jste si to při instalaci zvolili jinak, tak je najdete pod Start)
Mezi nimi je rozdíl a proto není jedno který se použije a jaký příkaz se v něm použije.
Pokud bude potřeba uložit text těchto oken, tak myšítkem najeďte na horní modrý řádek, tam
stiskněte pravé myšítko zvolte vše označit a potom kopírovat. Nyní to můžete vložit do nějakého textového
dokumentu.
Spustíme GDB.
Těch úvodních několika řádků si nevšímejte, vložte a odentrujte tento prikaz
Kód:
sh4tp STMCLT1000A:mb411:st40
- úplně první spojovací příkaz
Set-top-box se rebootuje a před náběhem se zablokuje (zamrzne), to je záměrně.
To rebootování je možno vynechat, pokud to bude potřeba, jenom se mezi příkazi musí přidat
instrukce, že to nemá rebootovat.
-------------------------------------------------------
Příklad rozdílu spuštění
Windows:
sh4tp STMCLT1000A:hdk7108stx7108:host
Linux:
sh4tp STMCLT1000_A:hdk7108stx7108:host
-------------------------------------------------------
sh4tp = více instrukcí, které jsou v nějakém prográmku které se postupně sami pošlou,
aby to uživatel nemusel dělat ručně (ale jinak si to může uživatel též udělat ručně)
STMCLT1000A = určení rozhraní/adresy, přes které se připojujete
mb411 = označení pro procesor řady STb7100
st40 = označení jádra
----------------------------------------------------------
Pokud se zobrazí takovýto krátký čistý výpis:
Kód:
(gdb) sh4tp STMCLT1000A:mb411:st40
The target is assumed to be little endian
The target architecture is assumed to be sh4
mb411_stx7100_cut31 (mb411) connect start - parameters {}
Initialization TCK frequency set to 3000000 Hz
Device id 0x2d424041
tapmux connect(): boot mode single core setup
tapmux setup to bypass to core st40, channel 1
mb411 initialization start with SoC stx7100_cut31 ...
stx7100_cut31: booted audio companion
stx7100_cut31: booted video companion
TCK frequency set to 10000000 Hz
tapmux complete_connect(): single core setup
mb411 initialization complete
0xa0000000 in ?? ()
(gdb)
tak to znamená, že USB rozhraní máte správně prodrátované, připojené
piny na JTAGU jsou správně zapojeny a správně jste určili procesor.
Ale pokud to kompletně zahltí obrazovku sice čitelným textem, ale nepoužitelným,
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
10 z 17
2015-11-27 13:00
Předmět příspěvku:
Re: USB-JTAG pomocí FT4232H - postupný návod
Napsal: pon 23. pro 2013 15:53:32
tak tam máte v boxu jiný procesor, nebo jste se přeťukli u označení procesoru.
Pokud není na procesoru chladič, tak se podívejte, jaké je na něm přesné označení.
Nebo do nějaké dokumentace k zařízení. V nouzi velmi opatrně sundat chladič.
Ten hlavně neodstraňovat silným tahem nahoru, mohlo by to odtrhnout procesor z desky.
Též se může zobrazit čistý, ale delší výpis s chybovými hláškami:
Kód:
(gdb) sh4tp STMCLT1000A:mb411:st40
The target is assumed to be little endian
The target architecture is assumed to be sh4
mb411_stx7100_cut31 (mb411) connect start - parameters {}
Initialization TCK frequency set to 3000000 Hz
Device id 0x2d424041
tapmux connect(): boot mode single core setup
tapmux setup to bypass to core st40, channel 1
SDI [ERROR] :: [SERVER] serviceASEMode: Sentinel not found (0xffffffff != 0xbeefface)
SDI [ERROR] :: [SERVER] sdi_Attach: Unable to service target after attaching
SDI [ERROR] :: [SERVER] processSDICommand: sdi_Attach failed
SDI [ERROR] :: Command SDI_ATTACH failed (0)
mb411 initialization start with SoC stx7100_cut31 ...
stx7100_cut31: booted audio companion
stx7100_cut31: booted video companion
TCK frequency set to 10000000 Hz
tapmux complete_connect(): single core setup
mb411 initialization complete
SDI [ERROR] :: [SERVER] serviceASEMode: Sentinel not found (0xffffffff != 0xbeefface)
SDI [ERROR] :: [SERVER] sdi_Attach: Unable to service target after attaching
SDI [ERROR] :: [SERVER] processSDICommand: sdi_Attach failed
SDI [ERROR] :: Command SDI_ATTACH failed (0)
Unable to attach to remote target STMCLT1000A:mb411:st40
(gdb)
Tak toto je zatím průšvih. Sice máte všechno správně prodrátované a nastavené, ale v boxu je nějaká ochrana.
Zatím se ji nepodařilo obejít. Někde se doporučuje do připojovací instrukce přidat parametr frekvence
a nastavit tam vyšší hodnotu, že potom se to prý při 4 pokusech z 10ti povede. Nevím.
Pokud Vám to sice funguje, ale zobrazí něco naprosto jiného a nevíte, kde je závada,
tak použijte postupně tyto instrukce:
Kód:
mb411stb7100 STMCLT1000A "msglevel=info jtagpinout=st40 jtagreset -inicommand
mb411stb7100bypass_setup"
Kód:
mb411stb7100 STMCLT1000A "msglevel=all jtagreset -inicommand mb411stb7100bypass_setup"
Pokud to máte alespoň částečně správně prodrátované, tak to vyhodí informace, ze kterých by se mohlo vyčíst,
kde je zádrhel.
Nahoru
joseff
Registrován: pon 09. kvě
2011 23:17:24
Příspěvky: 459
Vytažení obsahu NOR-čipu.
Podstatné je v příkazech dodržet velká a malá písmena.
Jít do složky:
C:\STM\ST40R5.1.0\sh-superh-elf\examples\os21\rombootram
Tam doporučuji přečíst návod v readme.txt
Nyní potřebujeme vytvořit potřebné moduly pro zařízení na které se budeme napojovat.
Pokud máte možnost, bude jednodušší použít Total Commander. Pokud ne, nevadí.
Jít do složky (u mě to je)
C:\STMicroToolset40R5.3.0\sh-superh-elf\examples\os21\rombootram\
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
11 z 17
2015-11-27 13:00
a v Total Commanderu je dole příkazový řádek, ujistěte se, že jste v okně, kde máte otevřenou
složku rombootram\ a do příkazového řádku dejte příkaz
Kód:
make clean
(Tento příkaz není vždy potřebný, pouze smázne vytvořené věci na předchozí zařízení
aby to nevyhazovalo chyby, že neodpovídá čip atd.)
Samo se spustí okno a ukončí.
Nyní pro vytvoření potřebných modulů pro náš box dejte do příkazové řádky tento příkaz:
Kód:
make TARGET=mb411stb7100
Opět se samo spustí okno, nyní to bude chvíli trvat. Až to bude hotové, tak budou ve složce
nové soubory.
----------------------------------
Pokud nepoužíváte Total Commander, nebo něco podobného, tak jděte na ploše do START.
A dole je kolonka spustit (ve Windows7 se musí aktivovat/přidat) v ní napsat a odentrovat
Kód:
cmd
Nyní se musíte přesunout do složky rombootram pomocí příkazu cd a celé cesty
Kód:
cd C:\STMicroToolset40R5.3.0\sh-superh-elf\examples\os21\rombootram\
- nejjednodušší je to označit, dát kopírovat a v cmd to pravým myšítkem vložit
Potom postupně odentrovat příkazy:
Kód:
make clean
Kód:
make TARGET=mb411stb7100
--------------------------------------------------------------------------
Nyní to již bude jenom složité.
Podívejte se do složky rombootram\ a tam najdete nově vytvořený soubor flasher.out
Do příkazu se musí zadávat celá cesta k souboru a celá cesta, kam uložit věci vytažené z boxu.
(Zde platí jedna zásada, názvy souboru si můžete pojmenovat, jak budete chtít, ale musí to
být na první pohled jasné a přehledně označené, aby nedošlo k prohození souborů.)
Jednodušší bude tento soubor překopírovat do složky
C:\STMicroToolset40R5.3.0\bin\
kde ho bude hledat, pokud se k němu nenapíše cesta.
Nyní budeme z boxu něco ukládat do PC, prostor kam to budeme ukládat již musí být připravený,
jinak to nikam neuloží.
Takže třeba na disku C vytvořit složku s názvem jtag a v ní složku ADB3800.
Za předpokladu, že je USB rozhraní připojeno k PC a boxu a box je zapnutý, tak na ploše
spustíme zástupce "ST40 Micro Toolset".
Do něj překopírujeme a odentrujeme tento příkaz:
Kód:
sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.out -a -r c:\\jtag\\ADB3800
\\ADB3800flasherout
(Na konci je cesta, kam to má uložit a název souboru.)
Box chvíli nic nedělá, potom se rebootuje a měl by to začít vytahovat, ale ouha.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
12 z 17
2015-11-27 13:00
Místo toho vyhodí chybovou hlášku:
Kód:
Setting up ST40 Micro Toolset R5.3.0
C:\STMicroToolset40R5.3.0>sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.
out -a -r c:\\jtag\\ADB3800\\ADB3800flasherout
FLASHER V3.3
Copyright (c) 2003-2009 STMicroelectronics Limited
Platform: mb411stb7100
Warning: Failed to ID a NOR device @ 0x00000000
Device = 0xffff0001/0x880a, Manufacturer = 0x880a0020/0x0020
flasher: No supported NOR FLASH devices detected
C:\STMicroToolset40R5.3.0>
A hned nám píše, kde je problém.
- naštěstí dokáže alespoň přečíst ID toho NOR-Flash čipu, u některých to nedokáže
Čip, ze kterého chceme vytáhnout uložené údaje vytvořený modul nezná.
Označení a parametry čipu nejsou zapsané v seznamu souboru ze kterého vznikne potřebný modul.
- tento stav může bohužel vzniknout dost často
Krok číslo 1)
Podívat se do set-top-boxu, co je napsané na odpovídajícím čipu.
Na tom našem je:
Kód:
ST
M28W320HS
T70ZA6 CSK_R20
AKR VS
99 825
Takže čip je:
ST M28W320HS-T70ZA6
Krok číslo 2)
K tomuto čipu se musí najít podrobnější dokumentace o jeho parametrech.
Problém je, že M28W320HST je novější verze čipu M28W320FST (ke kterému je dokumentace)
a pravděpodobně vlastní i nějakou možnost ochrany, tak proto k němu není plná dokumentace běžně dostupná.
RIMINI použil část informací z dokumentace k podobnému čipu a to ostatní díky
jeho zkušenostem tak nějak odhadnul a fungovalo to.
Nyní jít opět do složky
C:\STMicroToolset40R5.3.0\sh-superh-elf\examples\os21\rombootram\
Tam do příkazového řádku odentrovat příkaz
Kód:
make clean
Nyní je toho ve složce rombootram\ trochu méně.
Pro NOR-Chipy jsou 2 příslušné soubory: nor.h a norutil.c
Otevřít v textovém editoru, nebo nějakém složitějším editoru.
nor.h
- tam je nadefinováno, jak k čipu přistupovat a je tam tabulka s názvy nadefinovaných čipů, mezi které
se musí ten náš přidat
Připsat náš čip tady:
Kód:
/*
* Types used by flashutil.c
*/
typedef enum
{
M28W320HS,
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
13 z 17
2015-11-27 13:00
M58LT256GT,
.
.
.
S29GL064N
} flashType_t;
Tím náš zásah v tomto souboru končí, dále tam jsou definice struktury popisu Flash čipu.
norutil.c
- tam jsou hodnoty popisu Flash cipu, které my tam musíme pro náš čip přidat
Výpis je zkrácený, přidává se toto:
Kód:
static flashBlockInfo_t M28W320HS_blockInfo[] = {
{0x1F8000, 0x08000},
{0x200000, 0x01000},
{0x000000, 0x00000}
};
----------------------------------------------------
static flashDevice_t supportedDevices[] = {
{
M28W320HS,
"M28W320HS",
NULL,
0x0000880A,
0,
0,
1024 * 1024 * 4,
0,
M28W320HS_blockInfo,
0,
resetM29W,
blockUnprotectCFI,
blockEraseCFI,
chipEraseSimple,
writeWordCFI,
NULL
},
-----------------------------------------------------------------------------
Takže přidat to nějak takto:
Kód:
/*
* Block layout of the FLASH parts used on our boards
*
* These are address and size pairs. Read the tables
* as 'addresses below this are broken up into blocks
* of this size'.
*/
static flashBlockInfo_t M28W320HS_blockInfo[] = {
{0x1F8000, 0x08000},
{0x200000, 0x01000},
{0x000000, 0x00000}
};
static flashBlockInfo_t M58LT256GB_blockInfo[] = {
{0x0020000, 0x08000},
{0x2000000, 0x20000},
{0x0000000, 0x00000}
};
.
.
.
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
14 z 17
2015-11-27 13:00
static flashBlockInfo_t SPANSION_MIRRORBITx16_128MB_param_blockInfo[] = {
{0x8000000, 0x20000},
{0x0000000, 0x00000}
};
/*
* The list of support FLASH parts, and their attributes
*/
static flashDevice_t supportedDevices[] = {
{
M28W320HS,
"M28W320HS",
NULL,
0x0000880A,
0,
0,
1024 * 1024 * 4,
0,
M28W320HS_blockInfo,
0,
resetM29W,
blockUnprotectCFI,
blockEraseCFI,
chipEraseSimple,
writeWordCFI,
NULL
},
{
M58LT256GT,
"M58LT256GT",
NULL,
0x00008870,
0,
0,
1024 * 1024 * 32,
0,
M58LT256GT_blockInfo,
64,
resetM58LT16,
blockUnprotectCFI16,
blockEraseCFI16,
chipEraseSimple,
writeWordCFI16,
writeBufferCFI16
},
.
.
.
{
S29GL064N,
"S29GL064N",
NULL,
0x0000227e,
0x00002210,
0x00002200,
1024 * 1024 * 8,
0,
M29W640DB_blockInfo,
0,
resetM29W16,
NULL,
blockEraseM29W16,
chipEraseM29W,
writeWordM29W16
},
{.deviceName = NULL}
};
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
15 z 17
2015-11-27 13:00
-----------------------------------------------------------------------------
Jediná potíž by mohla vzniknout zde:
Kód:
resetM29W,
blockUnprotectCFI,
blockEraseCFI,
chipEraseSimple,
writeWordCFI,
u čipu s nějakou ochranou, protože se sem asi bude muset ještě něco přidat/upravit,
jinak by to mělo fungovat.
Oba upravené soubory uložit a do příkazové řádky ve složce opět odentrovat příkaz:
Kód:
make TARGET=mb411stb7100
a nový soubor flasher.out opět překopírovat do složky
C:\STMicroToolset40R5.3.0\bin\
(velikost souboru můze být u každého jiná, záleží na množství nadefinovaných čipů)
Již hotový zaručeně fungující soubor:
flasher.out - funguje pro ADB3800-CZ
na ploše spustit zástupce "ST40 Micro Toolset".
Do něj překopírujeme a odentrujeme tento příkaz:
Kód:
sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.out -a -r c:\\jtag\\ADB3800
\\ADB3800flasherout
Box opět provede reboot a své zablokování. Na posledním řádku by se mělo zobrazit Progress:
a v procentech ukazuje, kolik se již stáhlo do PC.
Kód:
Setting up ST40 Micro Toolset R5.3.0
C:\STMicroToolset40R5.3.0>sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.
out -a -r c:\\jtag\\ADB3800\\ADB3800flasherout
FLASHER V3.3
Copyright (c) 2003-2009 STMicroelectronics Limited
Platform: mb411stb7100
FLASH devices detected:
0x00000000 -> 0x003fffff : STMicroelectronics M28W320HS detected
Dumping FLASH to c:\\jtag\\ADB3800\\ADB3800flasherout...
Progress: 100%
FLASH dumping complete
C:\STMicroToolset40R5.3.0>
Jakmile napíše, že to je hotové, tak okno rozhodně neukončujte. Podívejte se do složky,
kam se to mělo uložit, zda tam něco je. Měl by tam bý soubor o velikosti cca. 4MB.
Měl by vypadat nějak takto:
ADB3800flasherout.rar
Pokud tomu tak je, tak do okna "ST40 Micro Toolset" ihned odentrujte tento příkaz:
Kód:
sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.out -a -r c:\\jtag\\ADB3800
\\ADB3800flasherout2
a potom tento příkaz:
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
16 z 17
2015-11-27 13:00
Obsah fóra
»
Vyvoj firmware
Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Kód:
sh4xrun -c sh4tp -t STMCLT1000A:mb411:st40 -e flasher.out -a -r c:\\jtag\\ADB3800
\\ADB3800flasherout3
Tím, že se box rebootuje a blokne je zeručeno, že do uloženého nebude zasahovat a nehrozí
riziko špatného stažení.
Ty 2 posledni příkazy jsou naprosto stejné, pouze je na konci jiný název souboru. To slouží
pro kontrolu, zda není nějaký problém v USB rozhraní, nebo špatný kontakt v prodrátování.
Na těch 3 stáhnutých souborech provést nějaké porovnání, třeba pomocí kontrolního součtu MD5.
Pokud je u všech výsledek naprosto stejný, tak to znamená, že rozhraní funguje perfektně
a pokaždé stáhne přesně to, co má. To ovšem nezaručuje, že v obsahu (v boxu) již nebyla nějaká závada.
Obsah vytaženého může být u každého trochu jiný, záleží na verzi, kterou byl box Flashován.
Takže pokud pomocí toho budete chtít zachránit nějaký jiný box, tak doporučuji fungujici
set-top-box Flashovat na stejnou verzi, jaká je v tom poškozeném a teprve potom to z boxu
vytáhnout a použít na ten poškozený. Tím se předejde dalším případným potížím s nekompatibilitou verzí.
Pokud to je z Vaší strany všechno, tak odpojit napájení set-top-boxu. Odpojit propojovací
kabel mezi PC a USB rozhranim. Nyní odpojit JTAG kabel od set-top-boxu.
A co jsme to vlastně nyní vytáhly?
Je to komplet obsah čipu s kernelem.
Má to 4 části, v první a druhé je po jednom souboru, něco s meta ip addres, třetí část je kernel(ten už známe z
NOR.raw),
čtvrtá část je prázdná.
Nahoru
Zobrazit příspěvky za předchozí:
Všechny příspěvky
Seřadit podle
Čas odeslání
Vzestupně
Přejít
Stránka 1 z 1
[ Příspěvků: 5 ]
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník
Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru
Hledat:
Přejít
Přejít na:
Vyvoj firmware
Přejít
Založeno na
phpBB
® Forum Software © phpBB Group
Český překlad –
phpBB.cz
iCAN3800-TW • Zobrazit téma - USB-JTAG pomocí FT4232H - post...
http://forum.ican3800.zajsoft.net/viewtopic.php?f=5&t=592&sid=9b2...
17 z 17
2015-11-27 13:00