Inhaltsverzeichnis
AVR Studio 5AVR Studio 4 ist schon eine tolle Sache! Es gibt jedoch einige Dinge, die fehlen. Dazu gehört eine Möglichkeit in den Build-Prozess einzugreifen und natürlich Intellisense. All das soll die neue Version 5 können. Außerdem ist Visual Studio von Microsoft die Basis für die neue Entwicklungsumgebung. Das hat den Vorteil, dass die PC-Entwicklungsumgebung –insbesondere deren Bedienung– im Wesentlichen identisch mit der für die µC-Systeme ist. Weiterhin kann man VS an eigene Bedürfnisse anpassen und erweitern.
Das war nicht einfach! Zunächst schlug die Installation fehl. Etliche Windows-Updates später klappte es dann. Leider verabschiedete sich das Programm schon beim Start mit einer Fehlermeldung. Tage vergeblicher Fehlersuche, undendlicher Internet-Befragungen und Log-File-Analysen später habe ich dann aufgegeben. Ich muss allerdings zugeben, dass ich eine echte "Schmuddelinstallation" auf meinem PC habe. Da wurde vieles installiert und wieder deinstalliert, auch verschiedene VS-Komponenten. Manchmal ist die Installation oder die Deinstallation auch abgebrochen. Da bleibt schon einmal etwas übrig....
Als sich an anderer Stelle die Fehler häuften, habe ich versucht mein System auf den aktuellen Stand zu bringen. Also möglichst alle "Programm-Leichen" entfernt, zu allen Programm nach Updates und Service-Packs gesucht und die ein oder andere Zusatzkomponente installiert. Irgendwann habe ich dann noch einmal versucht AVR Studio 5 zu installieren und zu starten. Und siehe da, es hat geklappt. Woran es nun genau gelegen hat kann ich nicht nachvollziehen. Aber offensichtlich waren Installationsfehler an anderer Stelle die Ursache.
Das AVR Studio 5 ist so konfiguriert, dass Konfigurationen für die von Atmel hergestellten Boards bereits von Anfang an bereit stehen. Will man für ein anderes System entwickeln, muss man zunächst eine Vorbereitungen treffen.
Hilfe-Dateien einbindenDies geht über den Menüpunkt "Hilfe -> Hilfeeinstellungen verwalten -> Inhalt von Datenträger installieren". Am besten sucht man vorher mit der Windows-Suche nach den benötigten ".msha"-Dateien.
Templates importierenNach der Installation sind die Projekt-Templates für die Atmel-Boards verfügbar. Generische Templates müssen erst importiert werden. Dies geht über den Menüpunkt "Datei -> Import -> Project Template". Die Vorlagen findet man in "...\Atmel\AVR Studio 5.0\projecttemplates\AvrGCC\C\1033" in Form von ZIP-Dateien. Bei "Add to folder" sollte "AVRGCC" ausgewählt werden. Der Import der Templates ist auch notwendig, wenn man die angebotenen Tutorials nachvollziehen will.
Devices einrichtenZum programmieren der Chips nutze ich einen STK500-kompatiblen Programmer (mySmartUSB MK3). Stellt man als Board das STK500 ein, bietet AVR Studio 5 aber nur die Chips an, mit denen ein STK500-Board betrieben werden kann. Um weitere Chips bekannt zu machen, ist folgendes zu tun: Im Verzeichnis "...\Atmel\AVR Studio 5.0\tools\<Board>\xml" (ersetze <Board> durch das gewünschte, z.B. 'STK500') befinden sich für jeden Prozessortyp eine eigene XML-Datei. Man kopiert eine beliebige der Dateien und benennt sie entsprechend um. In der der Datei selbst ist das Tag "<device name>" anzupassen. Die Prozessor-Parameter bezieht AVR Studio von anderer Stelle (von wo?).
KonfigurierenMicrosoft Visual Studio lässt sich nahezu beliebig konfigurieren. Unter "Extras -> Anpassen"
und "Extras -> Optionen" werden viele Möglichkeiten angeboten.
Mir fehlten die Zugriffe auf die
Dokumentationen. Aber das lässt sich machen: Unter "Extras -> Externe Tools" lassen sich Aufrufe
von externen Programmen eintragen.
Unter "Befehl" trägt man den Dateipfad seines Lieblingsbrowsers ein. Bei "Argumente" der Pfad auf die Index-Datei der HTML-Dokumente. Der Pfad für die avr-libc-Dokumentation befindet sich nach einer Standardinstallation unter "C:\Develop\Atmel\AVR Studio 5.0\AVR Toolchain\doc\avr-libc\avr-libc-user-manual\index.html". Beide Pfade müssen wegen der Leerzeichen in Anführungszeichen eingeschlossen werden.
Bei PDF oder anderen Dateitypen sind die entsprechenden Anzeige-Programme einzutragen.
Standardmäßig erscheint der neue Eintrag im Menü "Extras". Unter "Extras -> Anpassen" steht dann der neue Eintrag unter "Externer Befehl 1" zur Verfügung und kann an passender Stelle in andere Menüs, z.B. "Hilfe" eingefügt werden.
Die Entwicklung eines neuen Projekts beginnt mit der Auswahl einen Templates. Der Projekt-Assistent fragt den Prozessor-Typ ab und legt ein neues Projekt an. Neu ist, dass es mehrere Konfigurationen für ein Projekt gibt. Typisch sind "Debug" und Release". Die Projekt-Konfigurationen unterscheiden sich den Projekteigenschaften, insbesondere in den Ausgabepfaden und den Compiler-Switches. Beim Kompilieren muss also auf die aktuell eingestellte Konfiguration geachtet werden!
Dafür muss man sich weniger Gedanken über die Switches machen. Die wichtigsten Switches können über Checkboxen ausgewählt werden. Allerdings fehlt eine eigenständige Stelle zur Festlegung des CPU-Takts. Hier muss die Standardoption zur Festlegung von Defines genutzt werden.
Am einfachsten ist man macht sich einmal intensive Gedanken über eine angemessene Konfiguration und speichert diese als neue Vorlage ab. Dies geht über "Datei -> Vorlage exportieren". Die neue Vorlage vereinfacht das Erstellen eine neuen Projekt erheblich. Vor allen Dingen vermeidet man Konfigurationsfehler. Leider klappt der Assistent dann nicht mehr. Die notwendigen noch zu machenden Anpassungen habe ich als "ToDo" in die durch das Template angelegte Quell-Datei eingetragen. Z.B "//ToDo: Prozessortyp anpassen".
Was sollte man in dem persönlichen Template festlegen?
Von bestehende AVR-Studio 4 Projekten übernimmt man nur die Quelldateien. Diese werden einem neu angelegten Projekt einfach hinzugefügt. Die Optionen (Compiler-Switches etc.) sollte man per Hand justieren. In den Eigenschaften zu den Projekten lassen sich viele Dinge einfach per Checkbox auswählen.
InkompatibilitätenDie avr-gcc-Version, die man von Sourceforge herunterladen kann, meldet die Versionsnummer 4.3.3, AVR-Studio bereits 4.5.1. Ähnliches gilt für die avr-libc. Die Sourceforge-Version ist 1.6.7, die des AVR-Studio; 1.7.1 (Änderungsprotokoll).
static inline
zu deklarieren._delay_xx(double ms)
-Funktionen. Hier werden
nur numerische Konstanten akzeptiert. Abhilfe schafft die die Definition von __DELAY_BACKWARD_COMPATIBLE__
.
Dann werden die alten Funktionen genutzt.Atmel Studio 7.0 machte Probleme nach der Installation von SP1 des Visual Studio 2015. Beim Programmstart kommt die Meldung, dass das "ErrorListPackage" nicht geladen werden kann. Schaut in die bei der Meldung angegebenen Log-Datei, findet man den folgenden Hinweis: "Die Datei oder Assembly "System.Collections.Immutable, Version=1.1.36.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden.". Es folgen weitere Fehmeldungen ähnlicher Art. Ursache ist, das mit dem Update von VS wahrscheinlich eine neuere Version dieser Datei eingespielt wurde. Beheben kann man das Problem, indem man die entsprechenden Konfigurationsdateien anpasst. Diese sind:
In beiden Dateien findet man den Eintrag (einfach mit Texteditor öffnen und nach 'Immutable' suchen):
<dependentAssembly> <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="1.0.27.0-1.1.65535.65535" newVersion="1.1.36.0"/> </dependentAssembly>
Wenn man "1.1.36.0" durch "1.1.37.0" ersetzt, verschwinden alle Fehlermeldungen.
Siehe hierzu auch den Beitrag How to restore Visual Studio 2015 after the Update 1 von Sergey Tihon.