Založen: Mar 21, 2006 Příspěvky: 34196 Bydliště: Bratislava
Zaslal: pá březen 15 2013, 23:05 Předmět:
Tak krokovanie funguje. Najprv mi to skakalo to tej prazdnej flash, ale potom sa to nejako (?!) umudrilo a ked som dal potom "resume 0x2600000", tak sa rozblikala LEDka! Uploadol som firmware, zastavil a spustil od 0x26008f0 - flashovanie prebehlo OK! (Teda robil som to dvakrat - prvykrat som uploadol nespravny subor).
Tlaciaren zije
Velke podakovanie pre Andreu za vydatnu pomoc
kód:
> resume 0x2600000
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x60000093 pc: 0x00000028
> mdw 0x2600000
0x02600000: eb000000
> step 0x2600000
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600008
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x0260000c
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600010
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600014
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600018
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x0260002c
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600030
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x02600034
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x80000093 pc: 0x02600038
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x80000093 pc: 0x0260003c
> resume
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x60000093 pc: 0x000006dc
> step
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x000006e0
> resume 0x26008f0
> step
target not halted
in procedure 'step'
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x60000093 pc: 0x00000988
> step 0x26008f0
target state: halted
target halted in ARM state due to single-step, current mode: Supervisor
cpsr: 0x60000093 pc: 0x026007b4
> step
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x00000010
> step 0x26008f0
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x026007b4
> step
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x026007b8
> step
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x026007bc
................
> step
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x02609544
> step
target state: halted
target halted in ARM state due to single-step, current mode: Abort
cpsr: 0x60000097 pc: 0x0260951c
> resume
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Abort
cpsr: 0x60000097 pc: 0x02602180
> resume
> resume 0x2600000
target not halted
in procedure 'resume'
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Abort
cpsr: 0x60000097 pc: 0x026008ec
> resume 0x2600000
> halt
target state: halted
target halted in ARM state due to debug-request, current mode: Abort
cpsr: 0x60000097 pc: 0x026008ec
> resume 0x26008f0
kód:
======================
Start flash_writer
======================
[Iflash]=== Iflash_HWProtection ===
verify_Image : 0x02700000
i_header->pul_start_addr : 0xE59FF060
i_header->ul_count : 0xE59FF060
temp_buf : ���`
SIG : $IMG
Download Image from PC
{
Download destination Address : 0x02700000
Please send data via usb (ISP1582)!!!
USB Chip Device ID= 0000001500008230
Image includes PJL(0000001B) -> Waste 45 bytes
[[524300 Bytes received]] - Complete Downloading
Download end
0x0008000C bytes Received
}/*Download End*/
verify_Image : 0x02700000
i_header->pul_start_addr : 0x00000000
i_header->ul_count : 0x00080000
temp_buf : $IMG
SIG : $IMG
IFlashCheckSum START!!!
start addr(0x0270000C) - end addr(0x0278000C)
checksum(0x0000A5A5) - end addr(0x0278000C)
IFlashCheckSum return TRUE END!!!
Source Checksum is valid
Found new kernel(0x0271C00C)!!!!
[[[FFFFFFF8]]], [[[000F69A4]]]
Image is invalid
Reset and Download Again
Jinak ten ARM má asi od adresy 0x800000 vnitřní periferie a jednou z periferií je nejspíš nějaké rozhraní k té FLASH, protože to tam pořád něco zapisuje a čte. Ale rozluštit to bez datašítu je na palici, jsem moc ráda, že jsi to rozchodil dřív, než mě z toho kleplo.
Založen: Mar 21, 2006 Příspěvky: 34196 Bydliště: Bratislava
Zaslal: pá březen 15 2013, 23:36 Předmět:
Nieco som nasiel uz od 0x400000. Takze na 0x800000 to asi pokracuje. Periferii to ma ako nasranych: LPT, UART, USB, GPIO, PLL, flash, radic SDRAM, riadenie laseru, A/D prevodnik, PWM a riadenie motorov.
Když tak nad tím ještě přemýšlím, on ten hw breakpoint nejspíš i fungoval, akorát že byl na špatném místě, měl být na té kopii v RAMce.
Jeden špatný bit a jakou paseku to nadělá. Ve vesmíru by taková tiskárna asi dlouho netiskla. A Soudruzi z Ťamťungu asi udělali někde chybu, když poškození fw blokuje možnost nahrát nový. Ale třeba je to tak schválně.
Založen: Mar 21, 2006 Příspěvky: 34196 Bydliště: Bratislava
Zaslal: so březen 16 2013, 11:50 Předmět:
Tiez si myslim, ze by to v RAM islo. Mohlo mi to aj skor napadnut, ked tam pri zastaveni bola adresa 0x260XXXX. No hlavne, ze tlaciaren prezila.
Predpokladam, ze ten boot loader nikto v takomto stave neskusal. Mozno v minulosti pri vyvoji (na tu ML-6060, co im tam aj ostal retazec?) a potom to uz len upravovali. A niekto tam pridal tu kontrolu (mozno ako reakcia na Rusov, ktori robili upravene FW, aby tlaciaren tlacila aj ked toner nema chip), kvoli ktorej je to nefunkcne.
Podobne je to aj s BIOSmi na zakladnych doskach PC - bootblock je malokedy funkcny, kedysi som daval ISA floppy radic do slotu, pretoze bootblock nevedel inicializovat ten na doske...
Keby bol dostupny datasheet k tomu Jupiter4E, tak je to jednoducha zalezitost - cez piny PROGRAM, SDA a SCL sa da pravdepodobne prepisat flash externe. Robia to tak asi vo vyrobe, pretoze su tieto piny vyvedene na test pointy a este aj oznacene.
по русски:
проблема в том, что ml-1660 с испорченной прошивкой и нужно прошить fullflash.
Я подключил jtag, в openOCD вижу процессор, но не могу настроить его для прошивки flash.
translate:
the problem is that the ml-1660 had a bad firmware and need to flash fullflash.
I connected the jtag, in openOCD see the processor, but I can not configure it for firmware flash.
Založen: Mar 21, 2006 Příspěvky: 34196 Bydliště: Bratislava
Zaslal: so duben 04 2015, 22:53 Předmět:
You can't flash the firmware directly using OpenOCD as it does not support the Jupiter4E built-in flash. You have to use the bootloader to flash the firmware using USB port. Use serial console to check if the boot loader works.
Založen: Mar 21, 2006 Příspěvky: 34196 Bydliště: Bratislava
Zaslal: út červen 30 2015, 9:31 Předmět:
Tentokrat som OpenOCD nekompiloval, pouzil som 0.8.0 z Debianu Jessie. Trochu vzdoroval, pretoze nechcel otvorit paralelny port:
kód:
# openocd -f /usr/share/openocd/scripts/interface/parport.cfg
Open On-Chip Debugger 0.8.0 (2014-10-20-22:02)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Warn : Adapter driver 'parport' did not declare which transports it allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
parport port = 0x378
Error: cannot open device. check it exists and that user read and write rights are set. errno=2
in procedure 'init'
Cez strace som zistil, ze sa pokusa otvorit /dev/parport888. Treba zmenit v /usr/share/openocd/scripts/interface/parport.cfg _PARPORTADDR na 0 (aby pouzil parport0)!
Potom uz stacilo klasicky zapnut s drzanim CANCEL, poslat cez USB firmware a po hlaseni "Image is invalid" zadat prikazy "halt" a "resume 0x26008f0".
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2, 3, 4, 5Další
Strana 4 z 5
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata 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 hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.