hallo, ich habe ein seltsames verhalten bei der simulation/debugging von meinem C-source. ich verwende winavr-20030913 und avr-studio V4.08 build 310. wenn ich das programm step-by step (F10) durchsteppe, sehe ich im watch-fenster den inhalt der variablen nicht. ich habe z.b. zuweisung i=inp(PINA), und i ist lt. quickwatch immer 0 ... interrestanterweise dürfte der programmablauf korrekt verlaufen, da in die jeweiligen if-verzweigungen richtig gesprungen wird. beim setzen der port-pins, muß ich die pins im PORTA register setzen, damit das äquvalente bit im PINA auch gesetzt bzw. gelöscht wird. ist das normal? da mir die umgebung avr-studio an sich zusagt, bin ich nahe daran, auf assembler umzusteigen, da ich vermute, daß dieses seltsame verhalten mit der einbindung von c-programmen zusammenhängt. natürlich erzeuge ich die ext-coff datei :-) vielleicht hat jemand eine idee, wie ich meine programme besser simulieren bzw. debuggen kann. C kann ich ziemlich gut, daher bervorzuge ich natürlich diese sprache. besten dank, thomas
mglw. liegt es an der Optimiertung des Compilers, der die "Variable wegoptimiert" und dann kein Symbol mehr dafuer anlegt. Testweise mal mit einer niedrigeren Optimierungsstufe ausprobieren. Weiterhin: streiche i=inp(PINA) da veraltet, setze i=PINA
Vermute ich ebenfalls. Wenn jemand die Zeit hat, für so'n Kleinkram von C auf Assembler zurückgehen zu wollen, tut er mir fast leid. :-)) Btw., auf http://gcc.gnu.org/ kann man lesen: February 6, 2004 Josef Zlomek of SUSE Labs and Daniel Berlin of IBM Research have contributed Variable Tracking. It generates more accurate debug info about locations of variables and allows debugging code compiled with -fomit-frame-pointer. Interessant, das könnte derartige Probleme in Zukunft beseitigen, wenngleic ich bezweifle, daß AVR Studio auf absehbare Zeit von so einem Feature Nutzen schlagen wird ;-). Aber GDB wird das dann sicher bald können.
@jörg: ich brauche dir nicht leid zu tun: 1.) ich habe nicht die zeit, um mir die bedienung von tools, die unzweifelhaft genial sind anzueignen. da erscheint es mir einfacher, von c auf assembler umzusteigen, da die erlernung eines programmsprachendialektes für mich einfacher ist, als das hantieren mit verschiedenen tools. für mich ist die programmierung arbeit und nicht hobby, und ich bin nicht interessiert, da viel zeit reinzustecken. ich gehe da eher nach dem kaüfmännischen prinzip vor: "mit dem geringmöglichsten aufwand den größtmöglichen erfolg erzielen" - und für mich bedeutet erfolg ein funktionierendes programm und nicht das beherrschen von alternativen tools. avr-studio ist eine simpel zu bedienende entwicklungsumgebung, die es mir erlaubt, so schnell und einfach als möglich ans ziel zu kommen. und ob der weg "c" oder "assembler" heißt, ist mir eigentlich egal. und kleinkram ist dies für micht nicht, ich programmiere "offline", also unterwegs, da kann ich nicht immer das kompilierte programm einspielen und schauen, ob's funktioniert. so, das habe ich jetzt anbringen müssen :-) 2.) außerdem funktioniert es bereits :-) @mthomas: ganz vielen dank für deinen tip - die optimierungs war's. die optimierung auf "0" - und es läuft super !!! danke nochmals!!!!
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.