www.mikrocontroller.net

Forum: Compiler & IDEs dev-c++ konfigurieren (WinAVR)


Autor: Rolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im moment programmiere ich mit myavr_Workpad_demo. Da ich mit dem 
Programm aber nicht so zufriede bin (und die dauernden Meldung, dass es 
sich gleich abschaltet nerven) wollte ich auf dev-C++ wechseln.

Irgendwo auf dieser Seite hab ich eine Anleitung zur Einstellung 
gefunden und bin danach vorgegangen. Beim kompilieren bekomme ich jetzt 
zwar .elf und .hex files, wenn ich diese aber mit dem myavr_progtool 
brenne, funktioniert das programm nicht (ausserdem sind die dev-c++ 
-files bei selbigem code deutlich grösser (6800 B anstelle von 5700 B 
des workpad-files)

Hat jemand eine Idee woran das Problem liegt?

Gibt es eine möglichkeit dev-C++ so einzustellen, dass ich direkt 
brennen kann (hab ein mysmartusb-Teil (ist avr910/avr911 - Kompatibel)

mit freundlichem Gruss und vielem Dank bereits im Voraus, Rolf

Autor: Frank Erdrich (erdi-soft)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm lieder Code::Blocks (www.codeblocks.org) oder Eclipse mit 
AVR-Plugin. Dev-C++ wird schon seit einiger Zeit nicht mehr 
weiterentwickelt.

Beim Code::Blocks-Team ist anscheinend auch der ein oder andere 
Entwickler von dev-C++ mit dabei. AVR-GCC wird von Code::Blocks auch 
direkt unterstützt.

Autor: Rolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir nun codeblocks installiert.
komischerweise stürzt das mit codeblocks kompilierte Programm ab 
(Anfgangs läuft es genau gleich ab, wird dann aber vom watchdog 
zurückgesetzt (wird deieser deaktiviert läuft nix mehr)) wärend dasselbe 
mit workpad problemlos funktionierte (identischer quelltext).
(es benötigt diesmal deutlich weniger Bytes mit CB als mit Wokrpad).

Weiss jemand woran dies liegt? Und kann ich den avr910 direkt aus CB 
ansteuern?

Autor: Frank Erdrich (erdi-soft)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, sieht so aus, als ob du dir irgendwo über ein Array hinausschreibst 
oder ähnliches. Unter Code::Blocks wird wohl ne Optimierung 
eingeschaltet sein (O1, O2, O3, Os), während bisher nicht. Ohne 
Optimierung kann es sein, dass an beliebiger Stelle PaddingBytes 
eingefügt werden, was dazu führt, dass du ohne Optimierung in diese 
"leeren" Bytes schreibst, mit Optimierung aber irgend etwas im RAM 
zerstörst.

Ich würde also mal kontrollieren, ob du die Array-Grenzen in Schleifen 
bzw. generell bei Zugriffen nicht überschreitest oder ähnliches.

Autor: die ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Default-mäßige Compilerflags mal verglichen und ggf. nachgetragen?

Autor: Rolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nun, leider kenn ich die Einstellungen der Compilerflags im Workpad 
nicht...
Mit den jetzigen Einstellungen scheint es aber zu klappen.

Aber kann mir noch jemand eine Antwort auf die ZWEITE Frage geben?

Kann ich den avr910 direkt aus CodeBlocks ansteuern? Will heissen kann 
ich CB so konfigurieren, dass mit Build&Run das Programm kompiliert und 
direkt auf den AVR überspielt wird. Ich find es nicht so bequem immer 
das myAVR_ProgTool dafür aufrufen zu müssen.

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.