Table of Contents

Installationsanweisung für Windows

Dieser Abschnitt enthält alle notwendigen Informationen zur Installation der AVR Entwicklungssoftware auf einem Windows Betriebssystem zu installieren.

Installation

Es wird die nachfolgende Software benötigt, die von der Homepage des Herstellers heruntergeladen werden kann. Wahlweise kann die Software auch von der, im HomeLab Kit enthaltenen, CD installiert werden.

1. AVR Studio

AVR Studio 4 IDE (Integrated Development Environment) ist eine Software um den Quellcode zu schreiben, zu kompilieren und das Programm in den Controller zu laden. AVR Studio kann kostenlos von der Atmel Homepage bezogen werden.

2. WinAVR

WinAVR ist ein GNU-GCC Compiler für AVR Microcontroller. Das Programm ist eine kostelose Software und kann welche von der Sourceforge Homepage geladen werden. Währen der Installation von WinAVR schlägt das Programm einen Ordnernamen mit einer langen Versionsnummer vor. Wir würden vorschlagen, die Versionsnummer zu entfernen, und das Programm wie folgt zu installieren:

C:\WinAVR

3. HomeLab Bibliothek

Die HomeLab Bibliothek ist ein Set von Funktionen welches für das HomeLab Kit und AVR Controller entworfen wurde. Die Nutzung dieser Bibliothek macht das Programmieren wesentlich einfacher und effektiver. Die neuste Version der Bibliothek kann von der HomeLab Webseite heruntergeladen werden. Diese Bibliothek sollte in den gleichen Ordner installiert werden, in dem sich auch WinAVR befindet.

4. Virtualer COM Port Treiber

Der Treiber ermöglicht den Anschluss des USB JTAG-ICE Programmiergerätes an den PC. Er muss vor Anschluss des Programmiergerätes installiert werden. Der Dateiname des Treibers ist “CDM x.xx.xx.exe”, wobei “x” für die Versionsnummer steht. Nach der Installation des Treibers kann das JTAG-ICE Programmiergerät über den USB Port angeschlossen werden und Windows wird es automatisch erkennen. Folgende Meldung sollte in der Taskleiste zu sehen sein:

Notice of finding the new device

Abhängig von der Anzahl vorher bereits definierter virtueller Ports, wird Windows dem neuen Gerät eine Portnummer zuweisen. Es wird ein neuer Name für den COM Port generiert, sobald das Gerät an einen anderen USB Port des selben Computers angeschlossen wird. Einige AVR Studio Versionen können nicht auf das Programmiergerät zugreifen, wenn die Nummer des COM Ports größer ist als 10, bzw. größer als 4 wenn es als Debugger genutzt wird.

Um das zu verhindern, kann die Portnummer im Gerätemanager verändert und auf einen Wert zwischen COM0 und COM4 einstellt werden.

See the complete procedure here .

Ein neues Projekt erstellen

Um ein Programm für den Controller zu schreiben muss man einen Projektraum erstellen. Das Projekt beinhaltet typischerweise unterschiedliche Dateien wie Quellcodes, Headerdateien, kompilierte Programmdateien usw. Es wird dringend dazu geraten, für jedes Projekt einen separaten Ordner zu erstellen (Diese Funktion wird auch vom New Project Wizard angeboten).

Wird ein neues Projekt mit Hilfe des Wizards erstellt, sind folgende Schritte zu durchlaufen:

1. Öffnen Sie AVR Studio und klicken Sie auf New Project. Falls sich das Dialogfeld nicht automatisch öffnet, wählen Sie Project - New project aus der Menüleiste aus. Klicken Sie auf Next.

2. In dem nächsten Dialogfeld geht es um den Compiler und die Starteinstellungen. Wählen Sie den AVR GCC Compiler aus. Fügen Sie dann links den Namen des Projekts und den Hauptquelldateinamen ein. Der Quelldateienname sollte die Endung “*.c” haben. Außerdem sollten noch zwei Ankreuzfelder angeklickt werden, welche einen Neuen Ordner und die Startdatei erzeugen. Man sollte auch den Ordner angeben wo die Projektdateien erstellt werden. Nachdem diese Einstellungen vorgenommen wurden, klicken Sie auf Next.

Achtung! Fehlt der AVR GCC in der Compilerliste, ist er nicht richtig installiert. In diesem Fall muss die WinAVR Software installiert werden bevor mit dem Programmieren begonnen wird.

3. Im nun folgenden Dialogfeld sind die Debuggerplattform sowie der Mikrocontroller auszuwählen. Das HomeLab kit nutzt die JTAG ICE Debuggerplattform und den ATmega128 Mikrocontroller. Klicken Sie nach der Auswahl auf Finish.

4. Nun wird der Projektraum erstellt und ein neues Fenster öffnet sich, in welchem mit dem Programmieren begonnen werden kann.

5. Vor der ersten Kompilierung, müssen einige Parameter des Projekts eingestellt werden. Die wichtigen Parameter sind die Taktfrequenz des Controllers und Optimierungsmethode.Der HomeLab Controller hat eine Frequenz von 14,7456 MHz (14745600 Hz). Sie kann in den Projekteinstellungen in Hz (nicht MHz) angegeben werden : Project → Configuration Options → General. Die Optimierungsmethode sollte -Os sein, falls keine andere Methode benötigt wird.

6. Um die Funktionen der HomeLab Bibliothek zu nutzen muss die Software richtig installiert sein. Bei jedem neuen Projekt benötigt muss die Bibliothek zur Liste der verlinkten Objekte hinzugefügt werden. Hierzu gehen Sie auf: Project → Configuration Options → Libraries und fügen Sie “libhomelab.a” hinzu.

Falls das Objekt libhomelab.a in der Liste links fehlt, ist die Bibliothek nicht richtig installiert und sollte erneut installiert werden.

Test der Einstellungen

Nach Installation der Entwicklungsumgebung sollte diese getestet werden, um sicherzustellen, dass sie korrekt funktioniert. Der einfachste Weg hierfür ist, ein kleines Programm zu schreiben, es zu kompilieren und in den Controller zu laden.

1. Schließen Sie das Programmiergerät an dem ATmega128 an. Stellen Sie sicher, dass es korrekt am JTAG Anschluss angeschlossen ist. (Kabel zeigt vom Board weg - siehe Abbildung) Schließen Sie nun die Stromversorgung an (eine kleine grüne LED sollte leuchten wenn alles korrekt angeschlossen ist.).

Fügen Sie nun folgenden C Code ein:

#include <avr/io.h>
#include <homelab/delay.h>
 
int main(void)
{
	// Pin PB7 als Output
	DDRB = 0x80;
 
	// Endlosschleife
	while (true)
	{
		// Invertierung Pin PB7
		PORTB ^= 0x80;
		hw_delay_ms(500);
	}
}
Kompilierung und Schalter des Programmiergerätes

Kompilieren Sie das Projekt mit dem Build Befehl (Taste F7). Stellen Sie sicher, dass die Kompilierung erfolgreich ist. Dafür sollte folgende Nachricht im Nachrichtenfenster stehen:

  Build succeeded with 0 Warnings...

2. Öffnen Sie das Controllerfenster Tools → Program AVR → Auto Connect. Stellen Sie sicher, dass der Tab Program geöffnet ist.

Falls sich das beschriebene Fenster nicht öffnet und sich stattdessen das Connection Failed Fenster öffnet, ist das Programmiergerät oder die Platine nicht richtig angeschlossen. Überprüfen Sie zunächst, ob der Mkcrocontroller an die Stromversorgung angeschlossen ist (grüne LED leuchtet) und ob das Programmiergerät korrekt an den JTAG angeschlossen ist. Falls das korrekt erfolgt ist, überprüfen Sie die von Windows vergebene COM Port Nummer. Ist diese größer als 9, kann Das AVR Studio das Programmiergerät nicht erkennen. Folgen Sie den Anweisungen zu Beginn des Kapitels, um eine Portnummer zwischen 0 und 4 zuzuweisen.

3. Fügen Sie im Fenster des Programmiergerätes Flash-sektion Textbox Input HEX File durch Betätigung der “…” Taste den Ort des kompilierten Programms ein. Das kompilierte Programm ist normalerweise in dem Unterordner default des Projekts zu finden und hat den gleichen Namen wie das Projekt jedoch mit der Endung “*.hex”, z.B. “Labor1.hex”. Nach Auswahl der richtigen Datei wählen Sie Programm um das Programm in den Controller zu laden. Wenn alles richtig gelaufen ist, sollte folgende Nachricht am Ende des Fensters zu sehen sein:

OK
Reading FLASH input file.. OK
Setting device parameters for jtag programming ..OK
Entering programming mode.. OK
Erasing device.. OK
Programming FLASH ..       OK
Reading FLASH ..       OK
FLASH contents is equal to file.. OK
Leaving programming mode.. OK

Laut Programm sollte die on-Board LED (PB7) blinken. Wenn das Programm funktioniert ist das Setup der Programmierumgebung richtig und das erste Programme wurde erfolgreich kompiliert. Glückwunsch!

Debugger

Liste der Register des Debuggers des ATmega128.

Debuggen eines Programms bedeutet, dass man nach Fehlern im Programm sucht. Dazu gibt es Programme, genannt Debugger, welche erlauben das Programm Schritt-für-Schritt auszuführen und an den notwendigen Stellen zu stoppen. Eine Implementierung des Programms ermöglicht das Überprüfen von Werten einer Variable in jeder Phase des Programms, sowie des Inhalts der Register und der Sequenz des Ausführens des Programms. Debugging ist sehr wichtig, wenn man mit komplexeren Programmen arbeitet, in denen die Fehlersuche häufig schwierig ist. Bei der Arbeit mit Mikrocontrollern ist es wichtig, dass eine Schritt-für-Schritt Implementation des Programms im Controller stattfindet, wodurch die Veränderung des tatsächlichen Outputs und auch die Werte der Register gesehen werden können. Zur Nutzung eines Debuggers müssen zwei erfüllt sein: Der Mikrocontroller muss das Debugging unterstützen und man muss über die notwendige Hardware verfügen, nämlich den JTAG Programmer welcher Debuggen erlaubt. Günstigere Programmiergeräte, welche das ISP Programmier Interface nutzen, können zwar kompilierte Programme in den Controller laden aber nicht unbedingt debuggen.

Um das Programm im Debugmodus mit dem AVR Studio zu starten, sollte es zuerst durch build (F7) kompiliert und daraufhin mit dem Befehl run (F5) gestartet werden. Zuvor können break points (F9) an bestimmten Stellen im Quellcode eingefügt werden. Erreicht die Implementation des Programms einen solchen Punkt, wird das Programm angehalten, um den Status des Mikrocontrollers an diesem Punkt festzulegen. Die Implementation des Programms kann mit dem Befehl Run fortgeführt oder durch Step Into (F11) mit nur einem Befehlt vollständig implementiert werden.

Die Nutzung von floating-point Variablen

Manchmal ist es bei AVR Programmen notwendig, Floating-Point Variablen zu nutzen. Um mit ihnen zu rechnen und sie mit printf-Typ Funktionen darzustellen, müssen folgende Installationsänderungen in der Konfiguration des Projekts vorgenommen werden:

1. Öffnen Sie die Installationsdatei des Projekts aus dem Menü Project → Configuration Options. Fügen Sie libprintf_flt.a und libm.a zu libhomelab.a der Homelab Bibliothek im Konfigurationstab Libraries hinzu.

2. Öffnen Sie anschließend Custom Options und wählen Sie [All files]. Fügen Sie daraufhin Zeilen mit “-lprintf_flt” ja “-lm” in die Box rechts sowie die Zeile mit “-uvfprintf” zu der [Linker Options] Sektion hinzu.

3. Klicken Sie auf OK und schließen Sie das Konfigurationsfenster.