Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S-EK Evaluation Board und OpenOCD


von anabolik (Gast)


Lesenswert?

hallo.
ich habe mit WinARM eine hex-datei erstellt und würde diese gerne auf µC 
(AT91SAM7S64)flashen. ich habe mir folgenden tutorial 
http://www.mikrocontroller.net/articles/AT91SAM7S_mit_OpenOCD_programmieren 
angeguckt, aber irgendwie verstehe ich das konzept von OpenOCD nicht.
1. im tutorial wird im at91sam7_wiggler.cfg konfiguriert. für meinen 
board(AT91SAM7S-EK, ist eigentlich noch nicht eingetroffen), denk ich 
mal, soll ich im arm7_ft2232.cfg (diese datei befindet sich unter 
WinARM\utils\OpenOCD)einstellungen vornehmen (da über USB, 
JTAG-ICE),oder??? dann im makefile typ und anschluß des 
programmiergerätes eintragen (ft2232??)?? anschließend im programmers 
notepad auf tools--> make programm klicken??
2. weitere sache die ich nicht verstehe, wie rufe ich komandozeile von 
OpenOCD, bzw. wo gebe ich die befehle z.B. "flash write 0 test.bin 
0"(dürfte eigentlich schon im punkt 1 passiert sein?) oder beim debuggen 
den befehl "halt"???

danke voraus!

von Stefan (Gast)


Lesenswert?

Die CFG Datei ist zur Anpassung von OpenOCD an das JTAG-Debug-Device 
zwischen PC-Anschluss und µC-Board-JTAG-Anschluss.

Ein Wiggler steckt zwischen Parallelport und µC-Board und ein "ft2232" 
ist der serielle Baustein auf einem JTAG-Device zwischen 
PC-USB-Schnittstelle und JTAG-Schnittstelle auf dem µC-Board. Ohne ein 
passendes Device ist die CFG Datei wirkungslos.

OpenOCD kann über telnet auf dem eingestellten Port bedient werden (z.B. 
4444) oder im Debugger z.B. GDB über den GDB-Befehl monitor.

von anabolik (Gast)


Lesenswert?

danke erst mal für antwort.
also muß ich die arm7_ft2232.cfg  datei verwenden. wie bringe ich dem 
OpenOCD bei das es die arm7_ft2232.cfg  verwenden soll und nicht 
at91sam7_wiggler.cfg. wie und wo muß ich mein makefile verändern. 
bestimmt im makefile unter # Flash-Programming support, aber da sind 
zeilen für LPC21ISP vorhanden(wo findet man passenden code für meinen 
JTAG-Device?). oder im makefile unter FLASH_TOOL =    freeOCD 
reinschreiben??

von Stefan (Gast)


Lesenswert?

Wieso MUSST du die arm7_ft2232.cfg verwenden? Das doch hängt davon ab, 
welches JTAG-Device du zu deinem AT91SAM7S-EK gekauft/gebaut hast. Wenn 
es ein USB JTAG Device mit ft2232 ist, dann passt es.

Nicht USB auf dem AT91SAM7S-EK und USB JTAG Debugging verwechseln. Das 
USB auf dem AT91SAM7S-EK ist eine komplett andere Schnittstelle und 
darüber kommst du nicht an JTAG!

Welche CFG Datei benutzt werden soll, kann in der Kommandozeile von 
OpenOCD angegeben werden (-f ...) oder du kopierst das gewünschte CFG in 
die default CFG openocd.cfg.
http://openfacts.berlios.de/index-en.phtml?title=Running_OpenOCD

Wenn bei OpenOCD noch kein passender Flashcode dabei ist, musst du den 
vielleicht selbst schreiben. Oder nachsehen, ob es eine neuere Version 
von OpenOCD mit dem Code gibt. Oder in der Usercommunity für den 
AT91SAM7S fragen, ob wer was hat. Oder das Flash anders füllen (ISP?) 
und über JTAG nur debuggen.

von Micro M. (micromann)


Lesenswert?

Hier ein sehr schönes Tutorial (Englisch), wo auch auf Inerfaces usw. 
eigegangen wird :

http://www.yagarto.de/howto/openocd/index.html

Aber vielleicht sagst du mal auf welche weise du das Programm in den MC 
bekommen willst.

SAMBA über den boardeigenen USB oder JTAG über ein zusätzlich zu 
kaufendes Interface ?

von anabolik (Gast)


Lesenswert?

ich möchte J-Link ( http://www.segger.com/jlink.html )  USB to JTAG 
verwenden und damit auch flashen und debuggen. als software möchte ich 
WinARM mit OpenOCD verwenden (auf segger.com gibt es J-Flash ARM aber 
WinARM mit OpenOCD wäre mir lieber).
wenn ich passende cfg-datei für mein J-Link gefunden habe (oder selbst 
geschrieben habe, weiß nicht so recht wie es geht), dann OpenOCD 
mitteilen daß es meine cfg-datei verwenden soll, richtig?  was muß noch 
im makefile verändert werden?

von Stefan (Gast)


Lesenswert?

Mach dich vor dem Kauf unbedingt bei Segger schlau, ob das geht. OpenOCD 
und J-Link war Januar 2006 wegen der proprietären J-Link Ansteuer-DLL 
noch "Sorry, but I don't think this is going to happen" (O-Ton Dominic)
http://www.sparkfun.com/cgi-bin/phpbb/viewtopic.php?t=3692

von Dominic R. (dominic)


Lesenswert?

Die Aussage ist nach wie vor gültig. Es gibt keine Dokumentation der 
J-Link Hardware, mit der die Ansteuer-DLL neu geschrieben werden könnte, 
und die proprietären Treiber von Segger machen eine Verwendung in einer 
freien Software unmöglich.

Gruss,

Dominic

von anabolik (Gast)


Lesenswert?

was hält ihr davon 
http://www.at91.com/www/phpBB2_mirror/viewtopic.php4?t=1445&postdays=0&postorder=asc&start=0 
? da steht es doch "This free gdbserver works with J-Link and SAM-ICE" 
oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.