ARM -Yagarto- läuft, aber programm stimmt wohl nicht übere

OP #780019
Lesenswert?

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
Angehängte Dateien:
Gast #780082
Lesenswert?

"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!
OP #780151
Lesenswert?

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
OP #780923
Lesenswert?

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
Angehängte Dateien:
OP #780934
Lesenswert?

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
OP #781307
Lesenswert?

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
Gast #781552
Lesenswert?

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
OP #781902
Lesenswert?

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
Gast #782306
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren