hey! ich bin ziemlicher anfänger auf dem gebiet mikrocontroller, will mich aber etwas einarbeiten. meine arbeitsmaterialien: lpc2148 auf mcb2140 amontec jtagkey amontec sdk4arm ich suche nun schon seit geraumer zeit nach beispielprogrammen bzw. kompletten projekten, welche ich in eclipse importieren kann und welche auf meinem 2148 auch laufen und über jtag zu flashen/debuggen sind. es würde mir sehr helfen ein solches fertiges projekt analysieren zu können um das genze ein wenig besser zu verstehen. ein tutorial wie zb. das von james lynch für den atmel ist keine große hilfe, da ich in diesem fall nicht weiß wie das ganze auf den philips 'abzuändern' ist und wie ich an stelle des parallelen wigglers mein jtagkey zum laufen bekomme. daher meine frage: kann mir jemand links zu beispielprogrammen geben die ich bei mir direkt importieren kann, bzw mir diese evtl. mailen? grüße, stephan
Naja, ein Projekt, was du einfach nur in Eclipse importieren kannst, wirst du vermutlich nicht finden. Aber hier gibt es doch einige Links zu den LPCs: http://www.mikrocontroller.net/articles/LPC2000 Unter http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ gibt es einige kleine Programme, die sich leicht auf deinen 2148 portieren lassen sollten.
danke für die schnelle antwort! die links kannte ich zwar schon, hab mich aber nochmal durchgewühlt und bin jetzt bis zum debuggen gekommen, womit ich beim nächsten problem wäre: wie muß mein cfg-file für meinen lpc2148 aussehen (oder liegt's an was anderem?!)? ich dachte eigentlich, dass ich schon das richtige hätte, bekam allerding folgende fehlermeldung: info: configuration.c:50 configuration:output_handler(): command ft2232_device_desc not found info: configuration.c:50 configuration:output_handler(): command ft2232_layout not found info: configuration.c:50 configuration:output_handler(): command ft2232_vid_pid not found error: jtag.c:1189 jtag_init(): No valid jtag interface found (ft2232)
Hi Stephan, unter http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_scripts gibt es einige Beispiel Konfigurationen, die einzelnen Optionen sind unter http://openfacts.berlios.de/index-en.phtml?title=OpenOCD_configuration erklärt. Ich weiss nicht, welche Version des OpenOCD im sdk4arm steckt (starte mein Windows eigentlich nie), auf www.yagarto.de findest du aber eine ausreichend aktuelle und einfach zu installierende Version. Wenn du damit ein Problem hast häng deine .cfg bitte hier im Forum an, dann kann ich klären, wo das Problem liegt. Gruss, Dominic
@ dominic vielen dank für deine links! auf der seite war ich schon und hab mir die zusammenstellung eines cfg-files angeschaut. ich kenn mich allerdings leider noch zu wenig aus um beurteilen zu können wo der haken bei meinem config-file ist. es wär mir aber ne große hilfe wenn du mir da weiterhelfen könntest. #daemon configuration telnet_port 4444 gdb_port 3333 #interface interface ft2232 ft2232_device_desc "Amontec JTAGkey A" ft2232_layout jtagkey ft2232_vid_pid 0x0403 0xcff8 jtag_speed 2 #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst srst_pulls_trst #jtag scan chain #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) jtag_device 4 0x1 0xf 0xe #target configuration daemon_startup reset #target <type> <startup mode> #target arm7tdmi <reset mode> <chainpos> <endianness> <variant> target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4 run_and_halt_time 0 30 working_area 0 0x40000000 0x40000 nobackup #flash configuration flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum flash bank cfi 0x80000000 0x400000 2 2 0 gruß, stephan
Warum lässt du den JTAG-Kram nicht erstmal in Ruhe und versuchst einfach ein simples Blink-Programm per seriellem Bootloader auf den Prozessor zu bringen? Für den Anfang ist das sicher mal einfacher als gleich etwas mit JTAG debuggen zu wollen.
ganz einfach: weil das ganze teil eines praktikums ist und das ziel der sache ist, via jtag zu debuggen. und so wie's aussieht fehlt mir doch nur noch das richtige .cfg dazu und die sache funktioniert.
>info: configuration.c:50 configuration:output_handler(): command >ft2232_device_desc not found also für mich hört sich diese Fehlermeldung eher so an als wenn er das Kommando nicht kennt. Also entweder: schlechte Fehlermeldung falsch geschrieben im falschen Kontext verwendet oder er kennt dieses Kommando wirklich nicht, z.B. weil du eine uralte Version benutzt.
meine versionen: openocd r78 eclipse 3.2.0 zylin 3.2.0 bin utils 2.16.1 gcc 4.1.0 gdb 6.5 insight (gdb) 6.5 wenn ich versuche den jtagkey als 'external tool' in eclipse einzubinden, bekomme ich folgende fehlermeldungen (mit obigem cfg-file): Info: openocd.c:82 main(): Open On-Chip Debugger (2006-07-15 12:00 CEST) Info: configuration.c:50 configuration_output_handler(): Command ft2232_device_desc not found Info: configuration.c:50 configuration_output_handler(): Command ft2232_layout not found Info: configuration.c:50 configuration_output_handler(): Command ft2232_vid_pid not found Error: jtag.c:1189 jtag_init(): No valid jtag interface found (ft2232)
Die Version r78 ist ziemlich alt. Ich hatte die Treiber für FT2232 devices (FTDI's FTD2XX und die open-source libftdi) überarbeitet, und ihnen den gemeinsamen namen ft2232 gegeben. Bis dahin hiess das Interface "ftd2xx" bzw. "ftdi". Dein .cfg File sieht gut aus, die "flash bank cfi ..." kannst du allerdings löschen, da dein LPC2148 garantiert kein externes Flash hat (schadet aber auch nicht). Unter www.yagarto.de findest du eine ausreichend aktuelle Version des OpenOCD, Michael bietet zur Zeit binarys von SVN Revision 100 an. In den nächsten Tagen wird es dann wieder eine neue Version geben, die bringt aber nur minimale Änderungen. Gruss, Dominic
ok. hab die aktuelle version von openocd drauf. die fehlermelung sieht jetzt etwas anders aus: Info: openocd.c:82 main(): Open On-Chip Debugger (2006-09-28 20:00 CEST) Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test logic, too Warning: arm7_9_common.c:785 arm7_9_halt(): target was already halted Info: server.c:67 add_connection(): accepted 'gdb' connection from 0 Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test logic, too Error: arm7_9_common.c:1936 arm7_9_write_memory(): memory write caused data abort Error: arm7_9_common.c:1771 arm7_9_read_memory(): memory read caused data abort Error: arm7_9_common.c:1936 arm7_9_write_memory(): memory write caused data abort Error: arm7_9_common.c:1771 arm7_9_read_memory(): memory read caused data abort Error: arm7_9_common.c:1936 arm7_9_write_memory(): memory write caused data abort
Der JTAGkey wurde erkannt, die JTAG Kommunikation läuft bereits, und das Target wurde erfolgreich angehalten. Was hast du denn gemacht, als die data aborts gemeldet wurden, bzw. was versuchst du zur Zeit zu erreichen? Hast du ein .gdbinit File, das bestimmte Kommandos enthält? Gruss, Dominic
ok. perfekt. dann passts ja. was ich erreichen will: ich hab ein 'blinky' welches aus folgenden files besteht: main.c time.c timer.h startup.s lpc21xx.h das programm hab ich schon mal mit uvision von keil und dem ulink draufgeflasht. jetzt will ich die files in ein neues projekt in eclipse importieren und dann quasi dasselbe mit yagarto+jtagkey machen was vorher schon mit uvision+ulink funktioniert hat (flashen + on chip debuggen) muss mich jetzt noch schlau machen wie das genau geht. hab schon ein paar tutorials an der hand. vielen dank auf jeden fall! an eine veraltete openocd-version hätte ich glaub als letztes gedacht. zumal diese ja im sdk4arm von amontec mit drin war und das sollte ja 'eigentlich' mit dem jtagkey einwandfrei funktionieren. ...sollte man meinen. gruß, stephan
jetzt brauch ich doch nochmal nen rat: hab mir gerade an stelle des sdk4arm das yagarto-paket installiert. jetzt bekomme ich beim start des jtagkey folgende fehlermeldung: Info: openocd.c:82 main(): Open On-Chip Debugger (2006-09-28 20:00 CEST) Info: configuration.c:50 configuration_output_handler(): Command separately not found Warning: arm7_9_common.c:679 arm7_9_assert_reset(): srst resets test logic, too was hat's denn mit der zweiten 'info' auf sich? gruß, stephan
In deinem .cfg File steht folgender Kommentar, allerdings aufgrund des linewraps in zwei Zeilen: #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst srst_pulls_trst Einfach das separately in die vorherige Zeile ziehen, dann verschwindet das Problem. Gruss, Dominic
oh mann! da hätt ich ja grad noch draufkommen können... ;-) danke nochmal! gruß, stephan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.