Hallo Leute, Bei einem Miniprojekt mit dem MSP430/149 und der IAR Workbench kann ich an eine bestimmten Zeile keine Breakpoints setzen. Das Problem liegt in einer Funktion mit lokaler Variable. Diese Variable wird aber nur gerade innerhalb der Funktion verwendet. Nicht einmal dies "x = 1;" funktioniert. Vielleicht ist dies eine Anfängerfrage, aber um eine Antwort wäre ich froh. Danke. Gruss Tony
Ich hab mich zwar noch nicht mit den MSPs und der IAR Workbench befasst, aber ich kann mir folgendes vorstellen: Das Programm wurde nicht in Assembler sondern in C programmiert und die Optimierungsfunktion hat die Zeile einfach wegoptimiert. Sprich... es gibt im fertigen Programm diese Zeile nimmer - also auch kein Platz für nen Breakpoint an der Stelle ;) Gruß, Magnetus
Tatsächlich! Die Geschwindigkeit war auf Medium optimiert. Wenn ich die Einstellung auf None stelle, dann ich an der gewünschten Stelle meinen Breakpoint setzen. Und, ja es ist C Code. Dazu aber eine Frage: Kann man später wenn die Debugphase abgeschlossen ist und der Code released werden soll, die Optimierung wieder einschalten oder lässt man besser die Finger davon?
Hmm.... bin mir da auch nicht 100%ig sicher... Ich würde dir auf alle Fälle raten nach der Debugphase die SW noch einmal im optimierten Zustand auf Herz und Nieren zu testen. Gruß, Magnetus
Kommt drauf an. Wenn Du da wirklich nur rumrechnest, um zu testen, kann der Compiler das ja getrost wegoptimieren. Wenn Du aber auf irgendein (memory mapped) Register zugreifst, kann der Compiler das natürlich nicht wissen. In diesem Fall musst Du die Variable als volatile deklarieren, dann wird sie nicht wegoptimiert.
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.