Makefile ändern (Listing ausgeben)

Gast #1008100
Lesenswert?
• ▲
▼
Hallo allerseits!
Ich bastel gerade an einer kleinen "firmware" zur Ansteuerung eines 
TLC5940. Klappt auch schon alles ganz gut, bis auf ein paar 
Kinderkrankheiten. Leider ist es sehr schwierig, herauszubekommen wo es 
hängt. Auf dem Programmierrechner läuft Ubuntu, programmiert hab ich in 
C, kompiliert mit avr-gcc. Um zu sehen, was der Controller (mega8) 
eigentlich so treibt, wollte ich das Programm am PC simulieren. Da schon 
ein Bisschen Assembler-Erfahrung mit avr-studio (auf einem 
Windowsrechner) und dessen Debugger/Simulator vorhanden ist, wollte ich 
selbiges nutzen, um mein generiertes .hex zu simulieren. Leider ist das 
ganze nach dem disassemblen durch avr-studio nicht wirklich 
durchschaubar.

Nun zum eigentlichen Problem:
Hier im Forum und in den Tutorials habe ich schon oft von "Listings" 
gelesen, in denen der C-Code und die dazugehörigen Assemblerfetzen zu 
sehen sind. Sowas würde das Debuggen natürlich extrem vereinfachen. 
Leider habe ich ein solches Listing bei mir noch nicht gefunden :( Was 
muss ich also an meinem Makefile oder sonst irgendwo ändern, damit so 
ein Listing beim make-Aufruf (make program) gleich mit rausfällt? In der 
man-page habe ich die Option -S von avr-gcc gefunden, weis jetzt aber 
nicht, wo ich die ins Makefile einbauen muss. Optimal wäre natürlich 
auskommetierter C-Code in einer Assemblerdatei, die man dann gleich ohne 
disassemblen in Studio compilieren und simulieren kann.

Bin für jede Hilfe dankbar,
kai-uwe
Angehängte Dateien:
#1008122
Lesenswert?
• ▲
▼
Das Makefile enthält bereits alles Nötige für ein solches Listing. Du 
musst nur die Zeile "build: elf hex eep" um "lss" ergänzen.

> Optimal wäre natürlich
> auskommetierter C-Code in einer Assemblerdatei, die man dann gleich ohne
> disassemblen in Studio compilieren und simulieren kann.

Das wird auch mit auskommentiertem C-Code nicht einfach so 
funktionieren. Aber wenn du auf ASM-Ebene simulieren willst, brauchst du 
doch gar nicht Assemblieren, sondern kannst einfach direkt das HEX-File 
laden.
Gast #1008267
Lesenswert?
• ▲
▼
Vielen Dank!
Genau danach habe ich gesucht. Dass es so einfach ist... Die .elf ist 
natürlich noch ein Stück komfortabler beim Debuggen :D Habe bisher nicht 
mit Studio und C auseinandergesetzt, aber auf jeden Fall supi, dass es 
das auch kann. Jetzt steht der entspannten Ungezieferjagdt nichts mehr 
im Wege.

Grüße,
Kai-Uwe
Gast #1008269
Lesenswert?
• ▲
▼
Ein neues Projekt im Studio anlegen und deinen C-Quellcode dort zu 
kompilieren dauert mit nur einem Sourcefile etwa 30 Sekunden, ist also 
deutlich kürzer als das Schreiben eines Beitrags hier im Forum. Danach 
klappt es auch mit dem Studio-Debugger.

Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.