mikrocontroller.net

Forum: Compiler & IDEs probleme bei simulation/debugging


Autor: thomasb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: thomasb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.