Tlaciaren Samsung ML-2525 - firmware

Počítače stolní, notebooky, tablety, tiskárny, scanery a vše, co nějak souvisí s PC

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#31 Příspěvek od rnbw »

Skusim - velmi som tomu neveril, ked su to len odpory bez budica, bol som rad, ze to funguje.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#32 Příspěvek od rnbw »

Takze skutocne je ten jeden byte zmeneny, idem skumat zapis do flash.

Wiggler chodi bez problemov plnou rychlostou paralelneho portu - priblizne 500kHz (ked dam viac, tak sa to uz nezrychli), teraz to precita ten 512KB dump za 50 sekund :)

[edit]
Takze zapis nejde. Flash som nadefinoval takto:

Kód: Vybrat vše

set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0 524288 4 4 arm
Jedine, co o nej viem, je tento text zo servisneho manualu: "mfl130_128Kx32". Skusal som nastavit aj sirku 2 B alebo 1 B, aj parameter jedec_probe, ale nejde to. Prikaz flash_probe 0 nedetekuje mfg. a device ID - namiesto toho nacitava prve byte z flash.

Neviem najst ziadnu dokumentaciu k nejakej podobnej flash, asi bude nutne skumat disassemblovany flashovaci kod...

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#33 Příspěvek od Andrea »

Umíš tam dát breakpoint? Jestli jo, dej ho na adresu 0xC3AC a spusť to od začátku a načti ten image z PC, až se to zastaví na tom breakpointu, budeš před instrukcema, co provádějí test toho čísla v [[[]]] patřícího ke starému kernelu. Pak přeskočíš na 0xC3BC a mělo by to vypsat "Valid image!" a pokračovat dál, jako by to číslo bylo OK. :)

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#34 Příspěvek od rnbw »

Break pointy idu nastavovat, ale nefunguju (ani SW ani HW) :( Na 0xc3ac to nezastavi. Skusal som aj na 0x0 a tiez to nezastavilo.

Zaujimave je, ze sa to tvari ako keby som mohol do flash zapisovat (normalne ako do RAM), ale po resete (staci aj "resume 0") to zmizne - ze by cache?

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#35 Příspěvek od Andrea »

Jo, to bude cache. To je lumpárna. Tak až se to zacyklí po té hlášce "Reset and Download Again", tak to stopni a dej resume od 0xC8F0.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#36 Příspěvek od rnbw »

No tak som skoncil :( Zamrzlo to. Tak som dal halt a pozrel do flash, su tam same 0xFF. Zatial som to nevypinal, teraz by mal byt povoleny zapis do flash, tak skusim nejake bezne prikazy na zapis.

Kód: Vybrat vše

[[[[[ Internal Flash Writing : BASE : 0x00000000]]]]]
start_addr 0x00000000, end_addr = 0x00080000
stat_sector 0x00000000, end_sector 0x00000200
image_start_addr = 0x0270000C

 IFlashMemChipErase START!!!

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#37 Příspěvek od rnbw »

Prave som si uvedomil, co sa stalo. Spustil som flashovaci program z flash - a on sa vymazal... On musi byt niekde v RAM nakopirovany a bezat odtial. Takze teraz dumpujem RAM.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#38 Příspěvek od Andrea »

Nojo sakra, já jsem blbá, vždyť ten kód nemůže běžet z FLASH, když se maže. Musí bejt někde v paměti kopie.
Nevíš, na jaké adrese to bylo zacyklené než jsi dal to resume?
Minimálně tam je na 0x2700000 ten nový bin a v něm je ta flashovací rutina taky.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#39 Příspěvek od rnbw »

Bolo to zastavene na 0x26008EC - su tam skopirovane nejake veci a na 0x26008F0 je ten isty kod ako (bol) na 0xC8F0. Skusim ho odtial spustit.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#40 Příspěvek od Andrea »

Jo, už to tam vidím, kopíruje se 64K z 0xC000 do 0x2600000. Tak to zkus spustit znova ale z 0x26008F0, snad to tentokrát vyjde . :pray:

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#41 Příspěvek od rnbw »

Nerobi to nic - dam "resume 0x26008f0" a nevypise to nic na konzolu. Ked dam "halt", tak vidim, ze procesor bludi niekde v tej prazdnej flash (PC=0x994).

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#42 Příspěvek od Andrea »

Sakryš, jestli došlo k nějaké výjimce, tak teď tam na ně nejsou obsluhy, když je smazaná FLASH. To jsem ti to zavařila. :(

Edit: To když nefungujou breakpointy, tak to asi nepůjde ani krokovat. :(

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#43 Příspěvek od Andrea »

Tak já nevím co s tím. :( Na 0xC4AC je procedura pro zápis do FLASH, takže bude nejspíš na 0x26004AC. Ale ta určitě potřebuje nějaké vstupní prametry, minimálně v R0 se něco předává.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#44 Příspěvek od rnbw »

Neda sa z tej procedury zistit, ci to funguje ako nejaka standardna flash - napr. na adresu 0x555 zapisat 0xAA, potom na 0x2AA zapisat 0x55, potom na 0x555 zapisat 0xA0 (prikaz PROGRAM) a nasledne jeden byte dat?

Ale kedze to ma byt 32-bitova flash, tak to nebude asi take jednoduche. Navyse sa to kvoli tej cache velmi zle testuje.

Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 02:00

#45 Příspěvek od Andrea »

Když ono je toho kódu moc a každou chvíli to volá nějakou proceduru. Zatím se mi podařilo identifikovat jen strcpy(), strcmp(), memcpy(), sprintf(). Ta flashovaci procedura taky pořád něco volá a já nevím, co to je. :(

Co zkusit pustit celý ten downloader znovu od 0x2600000? On se zase (možná) zacyklí na 0x26008EC a pak dát resume od 0x26008F0.

Edit: To je blbost, dyť to kontroluje i ten původní obsah a ten tam teď neni. :(

Odpovědět

Zpět na „Výpočetní technika“