Hallo, habe heute mein ARM-board (AT91SAM7_EX256) aus dem Shop mal abgestaubt und rausgeholt. Habe dann das Toturial von yagarto durchgearbeitet und läuft auch alles ganz gut. bei Eclipse starte ich meine Session "openocd-ftd2xx -f .\prj\at91r40008_armusbocd.cfg" vorher habe ich mein projekt compiliert. Nach den beiden schritten starte ich mein debuggen. das führt er auch ganz gut aus. ich kann nur nicht mein main file sehen und debuggen. Er spuckt diese Meldung aus: No source available for "_vectors() n (siehe Bild) Kann auch auf Run gehen, macht er auch ohne Fehhlermeldung. Ich vermute, das irgendwas auf dem Chip schon drauf ist und evtl fuse-bits gesetzt sind!?! kann das sein? ist das schlüssig? würde er mir dann das auf irgendeine weise ausspucken? Danke und Gruß Mfd2004
"Nach den beiden schritten starte ich mein debuggen. das führt er auch ganz gut aus. ich kann nur nicht mein main file sehen und debuggen." Hä? Lies doch nochmal den Abschnitt im Tutorial über das Debuggen mit GDB!
Ja, ich glaub ich habe mich ziemlich unverständlich ausgedrückt. Ich benutze den arm-elf-gdb über eclipse. Nach erfolgreichem compilieren starte ich openocd. Danach starte ich über den vorher eingerichteten Debugdialog im eclipse den debugger (yagarto\bin\arm-elf-gdb.exe). Jetzt wechselt er in die Debug-Ansicht (siehe 1. Beitrag angefügtes Bild). Nun kannte ich es von "damals" das ich nun meine main.c offen vor mit hatte und der Breakpoint an den Anfang meiner main stand. ein anschließendes "Run" startete meinen uC und ich konnte damit arbeiten. Nun ist es aber so, das ich nicht mit meiner main.c arbeiten kann. Er scheint etwas abzuarbeiten, was schon drin ist. leider nicht mein programm was drauf sollte. Bisher kannte ich es so, das ich eine Fehlermeldung bekommen habe und das er "run" damit abgebrochen hat. Nun läuft er weiter, als wenn nichts wäre. Das meinte ich mit: "Nach den beiden schritten starte ich mein debuggen. das führt er auch ganz gut aus. ich kann nur nicht mein main file sehen und debuggen." Hoffe, das ich es rüber bringen konnte. Würden fuse-bits gesetzt sein würde er mir eine Fehlermeldung rausgeben? Kennt jemand das Problem??? Grüße Marius
Wie schauen denn Deine GDB-Befehle aus? Kommt da ein "break main" vor? Hast Du auch entsprechend kompiliert? Ich meine, wenn Du im RAM debuggen willst, hast Du das auch dem Linker gesagt?
Hi, hatte das gleiche Problem, konnte es aber beheben indem ich statt dem Native-Debugger den Cygwin benutzt habe.
Hi, danke Gast2!! Also das war wohl das Problem. :-) Leider hat sich ein zweites Problem eingeschlichen. (kleiner- hoffe ich! ) Bekomme Fehlermedlung siehe Anahng oder hier:
1 | target remote localhost:3333 |
2 | Remote communication error: Bad file descriptor. |
3 | monitor reset |
4 | "monitor" command not supported by this target. |
5 | monitor sleep 500 |
6 | "monitor" command not supported by this target. |
7 | monitor poll |
8 | "monitor" command not supported by this target. |
9 | monitor soft_reset_halt |
10 | "monitor" command not supported by this target. |
11 | monitor arm7_9 sw_bkpts enable |
12 | "monitor" command not supported by this target. |
13 | monitor mww 0xFFE00000 0x1000213D |
14 | "monitor" command not supported by this target. |
15 | monitor mww 0xFFE00004 0x20003E3D |
16 | "monitor" command not supported by this target. |
17 | monitor mww 0xFFE00020 0x00000001 |
18 | "monitor" command not supported by this target. |
19 | monitor mdw 0xFFE00000 1 |
20 | "monitor" command not supported by this target. |
21 | monitor mdw 0xFFE00004 1 |
22 | "monitor" command not supported by this target. |
23 | break main |
24 | Breakpoint 1 at 0xec: file src/main.c, line 67. |
25 | load
|
26 | You can't do that when your target is `exec' |
27 | No registers. |
28 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/src: No such file or directory. |
29 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/prj: No such file or directory. |
30 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/inc: No such file or directory. |
31 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/.dep: No such file or directory. |
32 | Warning: /cygdrive/C/Users/Marius/workspace/TEST: No such file or directory. |
33 | Don't know how to run. Try "help target". |
Habe jetzt das ganze Projekt aufgeräumt und nochmal gemacht. Irgendwo steckt der Wurm. Dann bin ich nochmal die Yagarto anleitung durchgegangen ... Aber mir ist nichts aufgefallen, was ich anders habe (außer das mein GDB jetzt über Cygwin läuft). Mit den ersten Fehlermeldungen die sich ja auf meine Initialisierungs-Befehle beziehen kann ich gar nicht soo viel anfangen. Was mich wundert sind die letzten zeilen. "Warning: /cygdrive/C/User ...." Wo und warum setzt er cygdrive vor C ?? Ist das richtig? Habe die Hilfe schon durchsucht, aber nichts gefunden... Habt Ihr eine Ahnung? MFG Marius
Also das Problem mit den Initialisierungs-Befehlen ist weg. Fragt nicht wieso, oder warum :-) Habe nur noch das Problem mit dem directory: Warning: /cygdrive/C/Users/Marius/workspace/TEST/src: No such file or directory. Warning: /cygdrive/C/Users/Marius/workspace/TEST/prj: No such file or directory. Warning: /cygdrive/C/Users/Marius/workspace/TEST/inc: No such file or directory. Warning: /cygdrive/C/Users/Marius/workspace/TEST/.dep: No such file or directory. Warning: /cygdrive/C/Users/Marius/workspace/TEST: No such file or directory. Don't know how to run. Try "help target". woher bezieht er diese Addresse? also der Pfad stimmt bis auf dieses /cygdrive. MFG und Danke, Marius
Irgend wie muss man die Windows-Laufwerke auf Unix-Pfade anpassen /cygdrive/C passt also.
Aber wieso findet er dort nicht den richtigen Pfad, obwohl genau dort mein Projekt mit den Dateien liegt?
Vielleicht ne blöde Frage, aber hast Du eingestellt wo sich Deine elf-Datei befindet und wo die arm-elf-gdb.exe steckt?
Keine Frage ist blöd! Bin ja gerade hier im Forum um Hilfe zu bekommen! Bei Eclipse habe ich im Debug-Dialog die test.elf als Application angegeben. Im GDB-Debugger steht C:\Program Files\yagarto\bin\arm-elf-gdb.exe. GDB-Commandfile ist leer. Unter commands steht:
1 | target remote localhost:3333 |
2 | monitor reset |
3 | monitor sleep 500 |
4 | monitor poll |
5 | monitor soft_reset_halt |
6 | monitor arm7_9 sw_bkpts enable |
7 | monitor mww 0xFFE00000 0x1000213D |
8 | monitor mww 0xFFE00004 0x20003E3D |
9 | monitor mww 0xFFE00020 0x00000001 |
10 | monitor mdw 0xFFE00000 1 |
11 | monitor mdw 0xFFE00004 1 |
12 | break main |
13 | load
|
Der Rest ist eigentlich so belassen. Denke das es nicht an den Commands liegt, da diese ja auch ausgeführt werden ohne Fehlermeldung anzuzeigen. Erst, wenn er dann auf die main.c zugreifen will findet er diese nicht, obwohl der Pfad doch stimmt! Das wird ausgeführt:
1 | break main |
2 | Breakpoint 1 at 0xec: file src/main.c, line 67. |
3 | load
|
4 | Loading section .text, size 0x130 lma 0x0 |
5 | Start address 0x40, load size 304 |
6 | Transfer rate: 105739 bits/sec, 304 bytes/write. |
7 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/src: No such file or directory. |
8 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/prj: No such file or directory. |
9 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/inc: No such file or directory. |
10 | Warning: /cygdrive/C/Users/Marius/workspace/TEST/.dep: No such file or directory. |
11 | Warning: /cygdrive/C/Users/Marius/workspace/TEST: No such file or directory. |
Demmnach schreibt er ja. Den rest ... Ich bin leider nur einsteiger und erstmal ratlos. Mal sehen, was der morgige Tag bringt. Vielleicht finde ich den Fehler ja oder jemand kann mir helfen! MFG Marius
Marius Merten wrote: > Bei Eclipse habe ich im Debug-Dialog die test.elf als Application > angegeben. Im GDB-Debugger steht C:\Program > Files\yagarto\bin\arm-elf-gdb.exe. GDB-Commandfile ist leer. Unter > commands steht: Leerzeichen im Pfad haben bei mir schon zu Problemen geführt. Die PATH-Variable hast du angepasst, damit alles gefunden wird? > Warning: /cygdrive/C/Users/Marius/workspace/TEST/src: No such file or > directory. > Warning: /cygdrive/C/Users/Marius/workspace/TEST/prj: No such file or > directory. > Warning: /cygdrive/C/Users/Marius/workspace/TEST/inc: No such file or > directory. > Warning: /cygdrive/C/Users/Marius/workspace/TEST/.dep: No such file or > directory. > Warning: /cygdrive/C/Users/Marius/workspace/TEST: No such file or > directory. Existieren diese Verzeichnisse? Warum werden diese Verzeichnisse gesucht? Ansonsten kann ich dir nur empfehlen, das Tutorial Schritt für Schritt durcharbeiten, bis du einen Fehler findest. Bis dann, Tilo
Danke dir erstmal Tilo für den Beitrag! Denke nicht, das es mit den Leerzeichen zu tun hat, da ich ja vorher compilieren muss und den Pfad von arm-elf-gcc im eclipse angeben muss. dieser lautet bei mir: C:\Program Files\yagarto\bin\arm-elf-gcc.exe Und er compiliert einwandfrei. Die Path-Variablen. Ja, da gab es einige Probleme. Angefangen mit dem Compilieren. Jedoch habe ich PATH umgeschrieben, das es dem unter normalem Windows entspricht. Danach ging das Compilieren auch tadelos. Die Verzeichnisse stimmen. Du hast ja auch geschrieben das /cygdrive richtig ist. konnte es in einem Buch auch nachlesen. Warum arm-elf-gdb.exe irgendwelche Dateien oder Pfade brauch, was er sucht, weis ich nicht. eigentlich ist auszuschließen, das das verzeichniss nicht zu finden ist, da es haargenau stimmt. Also findet er die Dateien nicht, aber alle Projektdateien sind doch vom Compilieren dort drin!? Sackgasse ... Danke erstmal ... werde alles nochmal neu anfangen und Yagarto durcharbeiten. MFG Marius
Im Debug Dialog Fenster, da wo Du auch die Commands eingibst, unter dem Punkt Source muss der Pfad Deines Projekts eingestellt sein. Wenn da nur unter Default "Absolut File Path" steht, dann klicke auf Add... und füge Dein Projekt hinzu. HTH Jansus
Hey, vielen Dank! :-) Bei mir funzt jetzt alles! Man sollte einfach genauer, konzentrierter lesen und nicht mal schnell eben so ungeduldig rüberfliegen. Danke Leute! Grüße Marius
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.