JTAG FORTIS HS-7810 (STi7110)

Sekcia určená pre užívateľov s vyšším stupňom znalostí ! Návody a postupy tu uvedené, môžu pri neodbornej manipulácii poškodiť Váš prístroj !
Pravidla fóra
Pred požitím tu uvedených návodov pozorne prečítajte postup ! Vysoké riziko poškodenia prístroja !
Odpovědět
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

Navod na JTAG pre klony Fortisu HS-7810 HD PVR. Osobne som robil Anacondu HD.

Princip postupu (skratene):

1. Vytvorit HW JTAG a prepojit medzi STB.
budeme potrebovat vyvojovy modul FT4232HQMiniModuleFTDI, spajkovacku a nejake kabliky

2. Nakonfigurovat tento JTAG.
budeme potrebovat Windows PC, miniUSB kabel

3. Vytvorit u-boot pre STB.
budeme potrebovat Linux PC a nainstalovany aj ST-Linux

4. Poslat u-boot do STB cez JTAG
budeme potrebovat Linux PC a nainstalovany aj ST-Linux

5. Prehrat loader z PC do STB
budeme potrebovat Windows PC a seriovy kabel

Postupne napisem podrobnejsie o vsetkom. Vychadzal som z roznych for na nete "www.avi-plus.com a inych" ale nikde som nenasiel navod konkretne na Anacondu a tak som prebral princip a upravil ho na nas STB. Vo Windows sa mi to nepodarilo, lebo som nenasiel potrebne zdrojove subory pre tento STB board. V STLinux su. Nefungoval ani jednoduchy JTAG cez paralelny port a ani ziadne utility typu Jkeys, urjtag, ejtag, uctap a vela podobnych. Anaconda ma moderny CPU s instrukciamy ST40-300 a preto momentalne je toto asi jediny sposob.

A co je dnu v ?
CPU: ST Microelectronics STi 7110FTA
Flash: Spansion S29GL256P
RAM: Hynix H5PS1G83EFR 2x
ale hlavne typ boardu je hdk7111(potrebne vediet pre vytvorenie u-boot)

pokracovanie nabuduce:
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

CAST 1. Vyroba JTAG po hardwarovej stranke.

1. Musime si najprv zohnat vyvojovy modul s chipom FT4232H, napr tu:
http://www.sos.sk/?str=371&artnum=75174 ... minimodule
podrobjesi popis je na stranke vyrobcu:
http://www.ftdichip.com/Products/Module ... odules.htm

Obrázek

2. Pripravime si kabliky na prepojenie 9 ks (nemali by byt dlhsie ako 30cm) a tiez dve prepojky. Vrele doporucujem kabliky na pripojenie USB v PC skrinkach a prepojku na piny.
Vid foto:

Obrázek

3. najdeme konektor JTAG v prijimaci (CN501) a podla nasledujucej schemy prispajkujeme 9 kablikov na konektor v prijimaci.

Obrázek

Obrázek

Obrázek

4. na modul pripojime 2 prepojky podla schemy (cervenym) a potom aj 9 kablikov (modrym). Pozor, prekontrolujte si znovu prepojenie ci je spravne.

Obrázek

Obrázek

Takto mame hardwarovu cast a tym aj "spinavu pracu" hotovu a uz nebude treba spajkovat (az pri odoberani JTAG).

pokracovanie nabuduce.
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

CAST 2. Nakonfigurovanie JTAG

JTAG uz mame pripojeny k STB a tak potrebujeme z tohoto vyvojoveho modulu urobit "programator flash". Prepojky VBUS+VCC a V3V3+VIO nam sluzia na to, aby sme modul napajali priamo z USB portu pocitaca a aby "zil".

1. najprv si stiahneme ovladace pre modul tu:
http://www.ftdichip.com/Drivers/D2XX.htm
konkretne pre 32bit WindowsXP: (medzicasom je tam uz aj novsia verzia)
http://www.ftdichip.com/Drivers/CDM/Beta/CDM20817.zip
a rozbalime do nejakeho adresara "FTdriver"

2. potom si stiahneme utilitu Mprog3.5 zo stranky
http://www.ftdichip.com/Support/Utilities.htm
konkretne:
http://www.ftdichip.com/Support/Utilities/MProg3.5.zip
a rozbalime do nejakeho adresara "Mprog3.5"

3. STB nechame stale vypnuty a pripojime MiniModul FT4232H kablom s miniUSB konektorom k Windows PC do USB portu. Windows najde novy hardware a potrebuje ovladace, tie instalatoru nasmerujete do toho svojho adresara "FTdriver". Vypyta to niekolkokrat tak to vzdy urobime.

4. Spustime utilitku Mprog.exe z adresara "Mprog3.5"
spustime cez menu "File -> New" a vyplnime vsetko podla nasledujuceho obrazka:

Obrázek

spustime cez menu "File -> Save As" a ulozime si nastavenie do nejakeho suboru
potom cez menu "Device -> Scan" najdeme nam pripojeny modul
a nakoniec dame cez menu "Device -> Program" a takto zapiseme konfiguraciu do EEPROM pamate modulu. Vypise hlasku o naprogramovani modulu.

5. Ak je vsetko OK modul odpojime od Windows PC

Uz ho znova do Windows PC nezapajame, chcelo by to od nas ine ovladace, ale to uz nebudeme potrebovat.
Takto sme z vyvojoveho modulu urobili ako keby modul STMC Lite od ST Microelektronics ktorym sa da ovladat koncove zariadenie osadene CPU od ST. Existuje pod Windows nastroj ST40Tools a pripojovaci balik stm-stmc.160-1.6.0..... s ktorym sa da pouzit toto zariadenie aj vo Windows, ale pre nas STB kde je board hdk7111 nebolo mozne preniest u-boot. Takze dalsia praca bola mozna uz len pod linuxom.

a o tom nabuduce
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

Dalsie veci sa budu robit v linuxe a pre tych co to chcu este len instalovat pripajam odkazy na image instalaciek:

Ti co uz maju nejaky linux (najlepsie RedHat alebo Fedora) staci im nainstalovat ST Linux 2.4 z umiestnenia ftp://ftp.stlinux.com/pub/stlinux/2.4/iso/
momentalne je tam verzia ftp://ftp.stlinux.com/pub/stlinux/2.4/i ... 120822.iso

Ti co nemaju nic, len chut nieco nove vyskusat nech si stiahnu starsiu Fedoru 14 s ktorou to urcite ide a robil som s nou aj ja.
Fedora 14 http://archive.fedoraproject.org/pub/ar ... 86-DVD.iso

Po instalacii Fedory 14 je nutne ju aktualizovat (cca 644 balickov)
Po instalacii ST Linux 2.4 je tiez nutne aktualizovat (inac nepojdu korektne ovladace pre STMC Lite) a to prikazom "python stmyum update"
Ak nepojde python, treba doinstalovat (je na instalacke)

Podrobny navod na instalaciu Fedory a ST Linux by bol velmi obsiahli, preto to nechavam na vasej zrucnosti. Na to najdolezitejsie som upozornil. Ja som to robil tiez prvy krat a bez manualu. Hlavne vela trpezlivosti.

nabuduce uz praca v linuxe
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

CAST 3. Vytvorenie suboru u-boot

Aby sme ozivili vymazany STB potrebujeme mu vtlacit kod pomocou ktoreho sa nam podari obnovit flash pamat, kde je loader. Tento kod je v subore u-boot.
Subor u-boot je vlastne loader pre STB ktory zabezpecuje vzajomne fungovanie CPU, pamate RAM, flash pamate, usb rozhrani, ethernet rozhrani a kopec dalsich veci. Kazdy typ STB ma podla zlozenia hardwarovych suciastok svoj definovany "board". Kazdy board ma svoj u-boot. Nasa Anaconda je kompatibilna s boardom hdk7111 a preto vytvorime u-boot pre tento board.
U-boot vo formate ELF vieme loadnut cez JTAG do RAM pamate STB a ten nam zacne fungovat. Existuje este u-boot v RAW formate, ktory sa da priamo zapisat do pamate RAM a tiez zapisat do flash pamate. Toto sa da robit len pri beziacom STB.

Predpokladam, ze mate k dispozicii linux PC s nainstalovanym ST Linux 2.4 a urobenym updatom. Ja som to robil na linuxe Fedora14 a mal som ST Linux 2.4. Ale malo by to ist aj na inych verziach linuxu.

1. v linuxe si pustime terminal a prihlasime sa ako su "superuser"
$ su
2. pridame cestu pre spustitelne subory ST Linux
# export PATH=/opt/STM/STLinux-2.4/devkit/sh4/bin:$PATH
3. presunieme sa do adresara:
# cd /opt/STM/STLinux-2.4/devkit/sources/u-boot/u-boot-sh4
4. vycistime prostredie
# make distclean
5. vyberieme konfiguraciu pre board
# make hdk7111_config
6. a vytvorime subory u-boot
# make
7. mame vytvorene subory u-boot a presunieme si ich do ineho adresara:
# mv u-boot* /opt/STM/STLinux-2.4/devkit/sh4/target/boot/
8. teraz ich uz mame kde maju byt a su pripravene na load

mame u-boot a pokracovanie nabuduce
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

CAST 4. Load suboru u-boot do pamate prijimaca

Pripravime si prostredie takto:
Linux PC pripojime cez USB na JTAG pripojeny k STB (STB stale vypnuty)
Windows PC pripojime cez seriovy kabel (null modem) na seriovy port STB.
vid foto:

Obrázek

nepouzivam linux a neviem ci je tam nejaky terminal (urcite je) ale technicky sa to da len s jednym PC pokial terminal na seriovy port spustite tiez na linuxe. Ja som mal dostatok PC tak som to riesil takto:

1. na Windows PC si pustime terminal (hyperterminal) na seriovy port a nastavime 115200 8-N-1 a nechame tak.
2. na Linux PC pustime terminal a prihlasime sa ako superuser
$ su
3. skontrolujeme ci nam "zije" JTAG
# lsusb
malo by tam byt aj ID 0483:3747 SGS Thomson Microelectronics
4. pripravime si cestu (netreba ak pokracujeme z CAST 3.)
# export PATH=/opt/STM/STLinux-2.4/devkit/sh4/bin:$PATH
5. zapneme prijimac (STB)
6. napiseme prikaz ktorym posleme u-boot cez JTAG do STB
# st40load_gdb -t STMCLT1000_A:hdk7111:st40 -b /opt/STM/STLinux-2.4/devkit/sh4/target/boot/u-boot
7. napiseme prikaz "c" na pokracovanie
# (gdb) c
8. sledujeme terminal na Windows PC, ak vsetko prebehlo bez chyb, na terminali by sa malo objavit info o boarde a mal by reagovat na nase prikazy

Pokial je tak, mozte si gratulovat, lebo mate zivy STB (docasne).
Pokial nastali nejake chyby treba to riesit v diskusii, mne to takto preslo ked som mal vymazanu flash.
Riesil som este ked mal STB nekompatibilny loader a to prikazom:
# st40load_gdb -t STMCLT1000_A:hdk7111:st40,no_reset=1,no_pokes=1 resettype=none -b /opt/STM/STLinux-2.4/devkit/sh4/target/boot/u-boot
Snad jeden z tychto dvoch variant sa chyti

Tento u-boot sa dal vtlacit do Optibox Anaconda HD a nebolo treba este blizsie menit konfiguraciu. Casom som prisiel na to, ze Anaconda pouziva 32-bit mod a tento u-boot je v 29-bit mode, ale na zachranu Anacondy to nevadi, my tento u-boot vyuzijeme len docasne, pokial nenapalime original loader do flasky.

a to bude nabuduce
lacoland
Mírně pokročilý
Mírně pokročilý
Příspěvky: 39
Registrován: 05.duben 2011 - 11:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od lacoland »

CAST 5. Prehratie original loadera do prijimaca.

Ked nam uz "zije" STB a vieme ho ovladat cez seriovy port musime mu napalit do flash pamate original loader. Tento u-boot v ktorom bezime nie je 100% kompatibilny s nasim prijimacom, tak si budeme musiet vystacit len so zakladnymi prikazmy a dokonca budeme prenasat loader cez seriovy kabel. Nastastie je to len 256kB.

V prvom rade ale musime mat original loader na nas prijimac. Ten sa uz teraz da stiahnut pre Anacondu v nasom fore http://www.ab-forum.info/viewtopic.php?f=210&t=48053 kde je aj navod na zalohu (dd if=/dev/mtd0 of=/var/loader.bin bs=128k count=2). Tento subor si nazveme napr. loader.bin

Navod na nafleshovanie bootloadera zo suboru RAW - dump memory.
pokracovanie

1. na terminali mame prikazovy riadok HDK7111>
2. prenesieme subor s loaderom do pamate cez seriovy kabel:
- spustime prikaz HDK7111> loady
- potom cez menu terminalu preklikame "transfer->send file->file=loader.bin->protocol=Ymodem->send" posleme subor z PC do STB
- pockame na prenesenie dat "256kB" a precitame (a zapamatame si) cielovu adresu pamate:
HDK7111> loady
## Ready for binary (ymodem) download to 0x8C000000 at 115200 bps...
CCCCxyzModem - CRC mode, 2(SOH)/256(STX)/0(CAN) packets, 6 retries
## Total Size = 0x00040000 = 262144 Bytes
3. odomkneme flash:
HDK7111> protect off 1:0-1
Un-Protect Flash Sectors 0-1 in Bank # 1
.. done
4. vymazeme sector 0 a 1 vo flash pamati
HDK7111> erase 1:0-1
Erase Flash Sectors 0-1 in Bank # 1
.. done
5. skopirujeme loader z pamate RAM do flash pamate na zapamatanu poziciu (nemusi to byt 0x8C000000 !)
HDK7111> cp.b 0x8C000000 0xA0000000 0x40000
Copy to Flash
. done
6. zamkneme flash:
HDK7111> protect on 1:0-1
Protect Flash Sectors 0-1 in Bank # 1
.. done
7. vypneme prijimac (STB)
8. odpojime JTAG z usb portu
9. zapneme prijimac (STB)

ak po zapnuti na display uvidite 6.20, 6.26 alebo 5.23 (podla verzie loaderu) mate vyhrane.
STB uz zije sam a bude fungovat uz nahratie FW a to bud cez seriovy kabel a "porter" alebo cez usb kluc a "CHUP" t.j. vlozit kluc s FW (FAT32) a drzat tlacitko chanell up a az potom zapnut STB a pustit az pri citani usb.

Ked budete mat takto opraveny STB, mozete ho vypnut, poodpajat JTAG modul a odpajkovat kabliky.

hodne stastia

KONIEC
poya22
Registrovaný
Registrovaný
Příspěvky: 1
Registrován: 26.říjen 2012 - 11:06

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od poya22 »

hi
thank you for this good post my receiver is live and ok but i like test it
my receiver is forsat 9200 use a sti7110 it is like Openbox S6 HD PVR and
SuperBOX PRO HD 9618 and Octagon SF1008 SEplus_HD_INTELLIGENCE
i did this way when write this command
# st40load_gdb -t STMCLT1000_A:hdk7111:st40 -b /opt/STM/STLinux-2.4/devkit/sh4/target/boot/u-boot
------------------------------------
Reading symbols from /opt/STM/STLinux-2.4/devkit/sh4/target/boot/u-boot...done.
The target is assumed to be little endian

***
*** 'hdk7111' targetpack v15 starting
***

hdk7111 connect start - parameters {}
Initialization TCK frequency set to 3000000 Hz
Device id 0x2d43b041
tapmux connect(): boot mode single core setup
tapmux setup to bypass to core st40, channel 1
hdk7111 initialization start ...
hdk7111_setup - parameters {'tapmux_bypass_init': u'st40', 'reset_low_period': 360000}
Chip infos
Device ID = 0x2D43B041 ==> STi7111 cut 3.0
Mode pins = 0x00002028 ==> [1:0] ClockgenA ref: SYSA_CLKIN/FE OSC
[10:9] Boot mode . : ST40 first
[17:16] Boot device: NOR flash
[14] Boot port size: 16-bits
[11] Nand page size: 512 bytes
Clock frequencies
CKGA_PLL0 HS/LS = 900.0/450.0 MHz
CKGA_PLL1 = 800.0 MHz
ST40 ICK = 450.0 MHz
LX DMU = 450.0 MHz
LX AUD = 450.0 MHz
FDMA0 = 400.0 MHz
FDMA1 = 400.0 MHz
STNOC = 400.0 MHz
IC_BDISP_200 = 200.0 MHz
IC_DISP_200 = 200.0 MHz
IC_TS_200 = 200.0 MHz
IC_COMPO_200 = 200.0 MHz
IC_IF_200 = 200.0 MHz
IC_IF_100 = 100.0 MHz
DISP_PIPE_200 = 200.0 MHz
BLIT_PROC = 266.7 MHz
IC_DELTA_200 = 266.7 MHz
ETHERNET = 25.0 MHz
PCI = 33.3 MHz
EMI MASTER = 100.0 MHz
LMI2X = 800.0 MHz
Info: correcting interco reset setup
chip_init complete
stx7111: booted audio companion
stx7111: booted video companion
TCK frequency set to 10000000 Hz
tapmux complete_connect(): single core setup
hdk7111 initialization complete
[Switching to Thread 1]
0xa0000000 in ?? ()
Loading section .text, size 0x27376 lma 0x9bf00000
Loading section .text.unlikely, size 0x2a8 lma 0x9bf27378
Loading section .rodata, size 0x162c lma 0x9bf27620
Loading section .rodata.str1.4, size 0xa5b0 lma 0x9bf28c4c
Loading section .data, size 0x1bb4 lma 0x9bf331fc
Loading section .u_boot_cmd, size 0x700 lma 0x9bf34db0
Start address 0x9bf00000, load size 218286
Transfer rate: 229 KB/sec, 36381 bytes/write.
Function "machine_halt" not defined.
/tmp/plkqJr9tUj:7: Error in sourced command file:
Argument required (one or more breakpoint numbers).
gdb
-----------------------------------------------------
in last line
Function "machine_halt" not defined.
and i can not continue when wite "c" in gdb and
it is going to wait like this
gdb c
-
how can i solve this problem thank you
unimark
Registrovaný
Registrovaný
Příspěvky: 6
Registrován: 19.květen 2008 - 8:02

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od unimark »

Našiel by sa prosim niekto ,kto by spravil JTAG na Opticum Anaconada HD ??
:-( PS: BA okolie ......
Umrela mi anaconada,len bliká na červeno..... odmením sa :-)
incsr
Registrovaný
Registrovaný
Příspěvky: 1
Registrován: 25.květen 2025 - 19:53

Re: JTAG FORTIS HS-7810 (STi7110)

Příspěvek od incsr »

hello friend
can you help me make u-boot and open uart STi7111
Thanks
Odpovědět

Zpět na „Zmena bootloadera a jtag pre Fortis prijímače.“