Forum: Compiler & IDEs Avr Studio C Projekt aber Dissasembler Fenster startet


von Niklas F. (n8fever)


Lesenswert?

Hallo,

ich habe ein Projekt in C geschrieben (im Avr-Studio) ,
dass auch korrekt compiliert (keine Fehler, keine Warnungen).

Sobald ich den Debugger starte, öffnet sich das Disassembler-Fenster.

Das möchte ich nicht, sondern in C debugen.

Gibt es da irgend eine Einstellung, die ich nicht finden kann (I-net und 
Program?

Alle Optimierungsstufen (1,2,3, s) habe ich durchprobiert ohne positives 
Ergebnis.

Habe meinen Betreuer gefragt, der weiß es auch nicht.

Ne Idee, auch Brainstorming?

Assembler ist gut! (Aber unproduktiv, muss vorrankommen!)

von ... (Gast)


Lesenswert?

???
Dann wechsel doch einfach wieder zurück in das Fenster mit Deinem 
C-Code.

CU

PS: Die Optimierungseinstellungen haben damit absolut überhaupt nichts 
zu tun.

von Niklas F. (n8fever)


Lesenswert?

Dort ist aber leider kein Pfeil, der mir anzeigt, wo ich mich gerade 
befinde :-(

Was sicher noch erwähnenswert ist:
Es wird bei den Interruptvektoren gestartet und nicht in der main(), wie 
ich es gerne haben würde!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Gib mal an welche Versionen du von AVRStudio und WinAVR benutzt.

Wenn nix hilft, lösche die temporären Dateien (make clean) und packe 
dann das ganze Projekt (bei geheimer Source eine Ersatzsource 
erstellen!) in ein ZIP Archiv und hänge das hier an deine Frage an. 
Damit kann ein Helfer versuchen, das Problem nach zu stellen.

von Niklas F. (n8fever)


Angehängte Dateien:

Lesenswert?

Ok, jetzt habe ich das Projekt weitestgehend reduziert, um den Fehler 
bestmöglich eingrenzen zu können.
Dabei ist mir aufgefallen, dass eigentlich nurnoch AvrX übrig bleibt.
(AvrX-Version ist 2.6e)

Der Code dazu angehängt.

Min AvrStudio ist Version '4.13' und WinAvr ist Version 
'WinAVR-20070525'

von Oliver (Gast)


Lesenswert?

Schreib doch mal ein Minimalprogramm, ohne irgendwelche libs, nur ein 
leeres
1
int main(void){};
 schalte jegliche Optimierung aus, und schau, ob sich das in C debuggen 
lässt.

Oliver

von Oliver (Gast)


Lesenswert?

Nachtrag:

Solltest du das makefile verwenden, welches in deinem zip-File ganz oben 
steht, (und nicht ein vom Studio selbst erzeugtes makefile) so fehlt 
darin die Compileroption -g.

Oliver

von Oliver (Gast)


Lesenswert?

Nach-Nachtrag: Vergiß den Nachtrag :-) Ist doch alles drin.

Oliver

von Niklas F. (n8fever)


Lesenswert?

Wenn ich nur ein Program mit main() schreibe, dann läuft alles wie 
gewohnt.
Ich lasse ein vom Studio erzeugtes makefile benutzen.

Ich bin gerade auf der Suche nach dieser Nachricht,
die mir bisher nicht aufgefallen ist:
Coordinator: The object file does not contain source code information.

Aus einem anderen Post entnehme ich, dass dies die gesuchten 
Informationen sind,
die Asembler auf C-Code abbilden.

Leider steht dort nicht, wie ich diese einbinden lassen kann.
Ich benutze folgende Flags:
-mmcu=atmega128
-Wall
-O0
-fsigned-char
-gdwarf-2
-MD
-MP
-MT
-MF
-c

von Niklas F. (n8fever)


Lesenswert?

Sitze jetzt über 9 Stunden dran und jetzt geht es eeendlich!

Habe AvrX neu compiliert und neu eingebunden.
Das wird es wohl gewesen sein, weil dort keine Debug-Infos drinne waren.
(Vermutung)

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.