AVR AVRStudio

Aus Wiki
Zur Navigation springen Zur Suche springen

Einleitung

Atmel bietet mit dem AVRStudio eine sehr komfortable, leistungsfähige und kostenlose IDE (Integrated Development Environment) für seine AVR Mikrocontroller an. AVRStudio verwendet nativ Assembler für die Programmierung der Controller.

Zusammen mit dem WinAVR Plugin, das auf dem Open Source AVR-GCC und damit letztlich auf GCC besiert, ermöglicht AVRStudio die Programmierung der Controller auch mit der Programmiersprache C. WinAVR bringt mit Programmers Notepad einen Editor mit, der ein compilieren des Programmes direkt aus seinem Menü heraus erlaubt. Deutlich mehr Möglichkeiten bietet das AVRStudio mit dem WinAVR Pugin. AVRStudio erkennt ein installiertes WinAVR automatisch.

AVRStudio enthät einen leistungsfähigen Simulator, mit dessen Hilfe das Programm am PC simuliert und debugged werden kann, bevor es in den Microcontroller übertragen wird.

Falls ein AVR-Stdio kompatibler Programmer verwendet wird, kann auch direkt der Mikrocontroller mit dem generierten HEX-File geflashed werden. Für alle anderen Programmer ist ein weiteres zusätzliches Tool passend zum Programmer erforderlich.


Download und Installation

WinAVR

WinAvR ist ein kompletter C-Compiler, der entweder standalone oder zusammen mit AVRStudio verwendet werden kann. WinAVR Download: http://sourceforge.net/projects/winavr/files/ Die jeweils neueste Version herunterladen und installieren.

AVRStudio4

AVRStudio von der Atmel-Seite downloaden: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725. Für AVR-Studio verlangt ATMEL eine Registrierung. Die neueste Version herunterladen und installieren.

Bulbgraph.png Hinweis:
  • Für Windows7 ist mindestens Version 4.18 oder höher erforderlich
  • Falls ein ATMEL Programmer verwendet wird, muss im Verlauf der Installation der sog. Jungo Treiber installiert werden. Ansonsten kann dieser Schritt übersprungen werden.
  • Falls Servicepacks (SP) verfügbar sind, muss zunächst die Vollversion installiert werden und anschließend der Servicepack.
  • AVRStudio erkennt ein bereits installiertes WinAVR automatisch. Es ist keine diesbezgl. Konfiguration erforderlich.


Verwendung AVRStudio

Neues Projekt anlegen

AVRStudio im Startmenü starten. Unmittelbar nach dem Start von AVRStudio erscheint ein Dialog in dem ein vorhandenes Projekt geöffnet bzw. ein neues angelgt werden kann.

  • New Project auswählen, um den Assistenten für ein neues Projekt zu starten.
  • AVR GCC anklicken
  • Einen Namen für das neue Projekt eingeben - z.B. Test
  • Es empfiehlt sich, einen Haken für die Punkte create initial File und create Folder zu setzen. Damit wird ein neuer Unterordner mit dem Projektnamen angelegt und darin das neue C-File.
  • Evtl. noch den Speicherort ändern und dann auf den Button Next klicken
  • Im nächsten Dialog kann die Debugging-Plattform ausgewählt werden. Falls kein Hardware-Debugger (z.B. JTAG-ICE) bereitsteht, sollte hier AVR Simulator oder AVR Simulator 2 selektiert werden. Je nach zu verwendetem Controller steht entweder der Simulator 1 oder 2 zur Verfügung. Nach Selektion des Simulators und des Target-Controllers, auf den Dubbton Finish klicken.


Projektkonfiguration

  • Menü Project/Configuration Options auswählen
  • Bereich General:
    • Use external Makefile. Normalerweise generiert AVRStudio selbständig ein Makefile für den Compiliervorgang. Sollte aus irgendeinem Grund ein vom User erstelltes Makefile erforderlich sein (evtl. bei größeren Projekten), dann kann hier eines festgelegt werden.
    • Mit Output File Name und Output Directory Name kann der Pfad und Name des compilierten Programmes festgelegt werden.
    • Unter Device MUSS der korrekte zu verwendende Mikrocontroller selektiert sein, ansonsten wird das Pogramm auf dem Controller nicht funktionieren (andere Register, Funktionen, ...)
    • Damit Warteschscheifen und Timings korrkt ablaufen, sollte hier die tatsächlich verwendete Frequenz des controllers eingegeben werden.
    • Mittels Optimization können folgede Optimierungsstufen eingestellt werden: 0 (keine Optimierungen), 1-3 (Speed Optimierungen langsam ... schnell), s (size). Eine Optimierung für maximale Speed (03) wird ein deutlich größerers Hex-File zur Folge haben als ein auf Filegröße optimiertes File (Os).
    • Die vier Kästchen unsigned Chars, unsigned Bitfields, Pack Structure und Short Enums haben einen Einfluss auf die Interpretation von Datentypen - z.B. ob die Variable char i als unsigned (Haken gesetzt) oder als signed (Haken nicht gesetzt) interpretiert werden soll.
    • Create Hex File: Muss angewählt sein, damit ein Hex-File generiert wird, das in einen Controller übertragen wird.
    • Generate Map File: Das Map File enthält eine Zuordnung, an welcher Stelle im Flash und RAM welche Variable steht.
    • Generate List File: Das List File enthät das nach Assembler konvertierte Programm
  • Unter Include Directories können Verzeichnisse ergänzt werden, die nach Include-Files durchsucht werden sollen.
  • Unter Libraries können bereits überstzte Libraries hinzugefügt werden
  • Mittels Memory Settings kann der Flash-, SRAM und EEPROM-Speicher segmentiert werden. Dies ist nur unter Bestimmten Bedingungen, vor allem bei größeren Projekten, erfrderlich
  • Unter Custom Options können bestimmte, erweiterte Compiler- und Linker Optionen festgelegt werden.