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
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.
Ach übrigens: Wenn du im Makefile die Zeile "DEBUG = stabs" änderst in "DEBUG = dwarf-2", dann kannst du einfach direkt das ELF-File ins AVR-Studio laden. Dann kannst du sogar auf C-Ebene simulieren.
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
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
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.