Programowanie uBoot-a do Nbox ADB_5800.pdf

(49 KB) Pobierz
409406486 UNPDF
Programowanie uboot Linux do dekodera ADB 5800..
(obecnie są wysprzedawane w dość przyzwoitej cenie z kartami TNK HD)
Pokazał się niedawno program BlackBox, dzięki niemu można wgrać do dekoderów z
oprogramowaniem starszym niż z 09.2009 uBoot Linux i dzięki temu uruchomić np.
Enigmę2 która również dopiero co została opracowana i jest do pobrania tu:
Jednak żal było czytać jak kolejne osoby uszkadzają dekodery przez nieumiejętne
obchodzenie się z tym programem i uBootem. Dlatego piszę ten opis...
I.
1. Żeby cokolwiek zacząć programować należy na początek odczytać dump Flascha swojego
dekodera.
- zwłaszcza ważne są dane z adresów A0000010-A0021000
- A01C0000-A0208000
- A0340000-A03FFFFF
- Reszta danych jest wspólna z innymi dekoderami tego samego typu , jednak też można
odczytać. W odczycie czasem są błędy , więc czasem watro odczytać dwa razy..
2. Przez BlackBox programuje z błędami , i z testowanych kilku uBootów , tylko jeden mimo
że również zaprogramował się z błędami , to dawał się uruchomić. I jest załączony... z info
że to dla Rs232.
3. Uboot programuje się pod adres A0200000 !
4. Czyścimy tylko 3 sektory A0200000 , A0210000, i A0220000 , tam się zaprogramuje nasz
uBoot.
5. Po zaprogramowaniu należało by odczytać to co się zaprogramowało.
6. Kiedy już mamy we flash uBoot , to po wyłączeniu dekodera nie wolno uruchomić go bez
zwory , bo uboot zostanie wykasowany przez oryginalne oprogramowanie Nboxa.
7. Gdzie dać zworę było opisane , i załączone do programu.
II.
1. Kiedy już mamy we flashu ten pierwszy uBoot , to niestety nie można go użyć do odpalenia
Enigmy2. Jest to Uboot który nie ma obsługi USB , jednak potrafi bez problemu
przeprogramować Flash.
2. Jako drugi uBoot można zaprogramować uboot od Niebieski 20 , ten uboot jest naprawdę
dobry , jednak nie pokazują się napisy na wyświetlaczu dekodera. Adres ENV ustawiony
jest na A0300000 , więc nie wykasuje nic ważnego z oryginalnego oprogramowania.. i
potrafi przeprogramować flasch zarówno FSU , jak i FST.
3. Można użyć też Uboot przygotowany przez twórców E2 dla Nboxa.
Jest do dobry uBoot , na wyświetlaczu dekodera pokazuje się napis boot , adres ENV
ustawiony jest na A0040000 .
Jedyny problem , to fakt że pod klejem ciężko sprawdzić typ pamięci Flash...
Przez to jak się wgra nieodpowiedni uBoot , to trzeba wtedy ponownie programować , np.
Skopiować z usb jakiś uBoot do Ram , uruchomić go w pamięci dekodera , i dopiero tym
uBootem da się wgrać do Flasha drugi uBoot , bo jak się wgra niewłaściwy , to nie da się
zapisać ENV , i w ogóle programować.
4. Jak testowałem , programowałem , załączam Log z Hyperterminala , i będzie widać że mam
flasch FST , a z uBoot FSU nie dawało się nawet komendą md A0.... nic odczytać.
Żeby zaprogramować odpowiedni uBoot musiałem użyć uBoot Niebieski 20 , i na wszelki
wypadek zapisałem go pod adres A0280000, żeby w razie czego tam był...
III.
Przydatne komendy.:
loady = wgrywanie danych przez Hyperterminal, protokołemY-Modem, do Ram dekodera (jeśli
nie poda się adresu , to zaprogramuje się pod adres 84000000.
NBOX> loady
## Ready for binary (ymodem) download to 0x84000000 at 115200 bps...
CC
Te polecenia służą do zaprogramowania z pamięci Ram do flasha:
protect off A0200000 A023ffff
erase A0200000 A023ffff
cp.b 84000000 a0200000 40000
przykładowy log , tu łącznie z kopiowaniem danych z dysku usb do ramu , i później
programowanie:
MB442 niebieski20> usb reset
(Re)start USB...
USB: scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
MB442 niebieski20> ext2load usb 0:1 84000000 Uboot_9_11.bin#####.bin ######.bin ######.bin
######.bin ######.bin ######.bin ######.bin ######.bin ######.bin ######.bin #####T.bin####
147844 bytes read
MB442 niebieski20> protect off A0000000 A003ffff
.... done
Un-Protected 4 sectors
MB442 niebieski20> erase A0000000 A003ffff
.... done
Erased 4 sectors
MB442 niebieski20> cp.b 85000000 A0000000 40000# #0######################000000
A0000000 40000 ######################4000000 A0000000 40000#####################
Copy to Flash
................ done
MB442 niebieski20> cp.b A0200000 85000000 400000# #
MB442 niebieski20> cp.b 85000000 A0000000 40000#############000#0000 40000
############0000 40000 ###########20000 40000##########80000 40000##########
Copy to Flash
................ done
MB442 niebieski20> md A0280000
a0280000: 00090009 4018e040 40184018 400ecbf0 ....@..@.@.@...@
a0280010: 4018e0ff 4018cbc0 cb0c4018 e0a56103 ...@...@.@...a..
---------------------------------------------------------------------------------------
Przykład zaprogramowania komend ENV:
NBOX>
NBOX> setenv bootargs 'console=ttyAS0,115200 rw root=/dev/sda1 mem=55m init=/bin/devinit
ip=192.168.0.50:192.168.0.61:192.168.0.1:255.255.255.0:kathrein:eth0:off rootdelay=6
coprocessor_mem=4m@0x10000000,4m@0x10400000 init=/bin/devinit printk'
NBOX> setenv bootcmd 'usb reset;ext2load usb 0:1 a7000000 /boot/uImage;bootm a7000000'
NBOX> saveenv
Saving Environment to NOR Flash...
Unprotecting Flash...
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash...
.... done
Protecting Flash...
Protected 1 sectors
NBOX> md A04# #047# #0000
a0040000: 9e02bc61 746f6f62 616c6564 30313d79 a...bootdelay=10
a0040010: 75616200 74617264 31313d65 30303235 .baudrate=115200
a0040020: 616f6200 6d3d6472 32343462 0037325f .board=mb442_27.
a0040030: 696e6f6d 5f726f74 65736162 4178303d monitor_base=0xA
ps.
Ja testowałem na dekoderze z wymienionym flash-em (to będzie widać w Logach), więc już
oczyszczonym, mam też programator i mogę sobie flash łatwo przeprogramować, jednak żeby to
zrobić bardzo bezpiecznie przez Rs232 bez czyszczenia trzeba wszystko kilka razy sprawdzić np.
Komendami md A0xxxx..
I nie można ryzykować wgrania czegoś niepewnego!!!
Nie wolno skasować danych z pod adresów A0340000-A03F.... i A0020000-A0030000
Zwora powinna być na stałe przylutowana.
Kontakt przez forum sat-elita, bo tam zebrało się kilka osób które chcą coś do tego dekodera zrobić.
Przetestował i opisał Jacek z Torunia 27.12.2010.
Zgłoś jeśli naruszono regulamin