Forum: Compiler & IDEs GCC GDB OpenOCD JTAGkey Fehler bei Parameterübergabe in C


von MicroMann (Gast)


Lesenswert?

Hallo Leute,

ich habe einen echt ekligen Fehler entdeckt, und weiß nicht wo er
herkommt :

Ich benutze die ARM-elf Zusammenstellung mit eclipse, GDB,OpenOCD und
Amontec JTAGkey auf meinem AT91RM9200.

Nun zum Problem :

Ich habe eine beliebige C Funktion mit 2 oder mehr Parametern.
Beim (Debug) Sprung in die Funktion ist dann exakt der zweite
übergebene Parameter =0. Der erste und jeder andere ist so wie er sein
soll.
Das kann ich auch mit libC Funktionen wie memcopy nachstellen.

Und das merkwürdige ist : Disassembliert und im Einzelschritt
durchgehoppelt funktioniert das ganze dann wieder wie einwandfrei
(?!?)

Ich habe es sowohl mit eclipse sowie Insight nachvollziehen können.

Ich denke, dass der GCC 4.1.0 sowas doch schon hinbekommen dürfte, so
dass ich den Fehler bei GDB, OpenOCD oder dem JTAGkey vermute.

Habt ihr eine Idee dazu, oder ist euch etwas ähnliches auch schon
passiert ?

Bin für alle Hinweise dankbar :(

von MicroMann (Gast)


Lesenswert?

Auf einmal gehts in Insight :o

Ich hab nix angefasst.  Ehrlich !

Aber den Fehler hatte ich schon ein paar mal. Der kommt echt sch..

Vielleicht kann ja doch jemand noch was dazu sagen.

Und wo ich schon mal am Meckern bin :

Wenn ich aus langsamen Speicher größere Mengen auslesen will (via JTAG)
kommt nur noch Müll raus. Dann muss ich die auszulesende Menge
verringern bis es irgendwann geht. Leider ist die Anzahl der Bytes im
Memorymonitor von eclipse nicht einstellbar, so dass ich dann Insight
benutzen muss (Das ist echt ösig !)

Wo könnte denn da das Problem liegen ? Jemand ne Idee ?

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.