This is an old revision of the document!


Installationsanweisungen für Windows

Dieser Abschnitt enthält Informationen die notwendig sind um die AVR Development Software auf einem Windows OS zu installieren.

Installation

Man benötigt die folgende Software welche von der Homepage des Herstellers geladen werden kann oder von der CD welche mit dem HomeLab Kit geliefert wird.

1. AVR Studio

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

2. WinAVR

WinAVR ist ein GNU-GCC Compiler für AVR Microcontroller. Das Programm ist Freeware, welche von Sourceforge geladen werden kann. Währen der Installation WinAVR schlägt das Programm einen Ordnernamen mit einer langen Versionsnummer vor. Wir würden vorschlagen, die Versionsnummer zu entfernen, so wie es unterhalb gezeigt wird.

C:\WinAVR

3. HomeLab library

HomeLab library ist ein Set von Funktionen die für das HomeLab Kit und AVR Controllern designt sind. Wenn man diese Bibliothek nutzt, ist das programmieren viel einfacher und effektiver. Die neuste Version der Bibliothek kann von der HomeLab Webseite geladen werden. Diese Bibliothek sollte in den gleichen Ordner von WinAVR installiert werden.

4. Virtualer COM port Treiber

Der Treiber ermöglicht den Anschluss des USB JTAG-ICE Programmierer mit dem PC. Der Treiber muss vor dem anschliessen des Programmierers 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 man den JTAG-ICE Programmierer über den USB Port anschliessen und Windows wird das Gerät automatisch erkennen. Man sollte folgende Notiz in der Windows Task-leiste sehen.

Notice of finding the new device

Je nach Anzahl der Virtuellen Ports die vorher an dem Computer schon definiert wurden, wird Windows eine Portnummer für das neue Gerät hinzufügen. Ein neuer COM Port Name wird generiert wenn das Gerät am selben Computer in einen andern USB Port gesteckt wird. Einige AVR Studio Versionen können den Programmierer nicht nutzen wenn die COM Port Nummer über 10 ist, bzw. über 4 wenn das Gerät als Debugger genutzt wird. Um diese Situation zu verhindern kann man die Portnummer im Gerätemanager verändern und zwischen COM0 und COM4 einstellen. 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 typischer Weise unterschiedliche Dateien wie Sourcecodes, Headerdateien, kompilierte Programmdateien usw. Es wird geraten einen neuen Ordner für jedes Projekt zu erstellen. (Dies wird auch vom New Project Wizard angeboten)

Folgende Schritte müssen erledigt werden, wenn man ein neues Projekt mit der Hilfe des Wizards erstellt.

1. Öffne AVR Studio und drück New Project. Falls die Dialogbox sich nicht automatisch öffnet wähle Project - New project aus der Menuleiste. Drücke Next.

2. Die nächste Dialogbox ist über den Compiler und die Starteinstellungen. Wähle AVR GCC Compiler. Füge Links den Namen des Projekt und den Hauptsourcedatennamen ein. Der Sourcedateienname sollte die Endung “*.c” haben. Zwei Checkboxen sollten auch angeklickt werden, welche einen Neuen Ordner erschaffen und eine neue Datei. Man sollte auch den Ordner angeben wo die Projektdateien erstellt werden. Nach den richtigen Einstellungen drücke Next.

Beachte! Wenn der AVR GCC in der Compilerliste fehlt, ist er nicht richtig installiert. In diesem Fall muss die WinAVR Software installiert werden bevor man den C Sourcecode schreibt.

3. In der nächsten Dialogbox muss man die Debuggerplattform und den Microcontroller auswählen. HomeLab Kit nutzt den JTAG ICE als Debugger und den ATmega128 als Microcontroller. Nach der Auswahl drücke Finish.

4. Nun wird der Projektraum erstellt und ein neues Fenster öffnet sich, wo man den Sourcecode des Programms schreiben kann.

5. Man muss einige Parameter des Projekts einstellen bevor man es kompiliert. Die wichtigen Parameter sind Controllertaktfrequenz und Optimierungsmethode.Der HomeLab Controller hat eine Frequenz von 14,7456 MHz (14745600 Hz). Die Frequenz kann in Projekteinstellungen angegeben werden in Hz (nicht MHz): Project → Configuration Options → General. Optimierungsmethode sollte -Os sein, falls man keine andere Methode benötigt.

6. Um HomeLab Library Funktionen zu nutzen muss die Software richtig installiert sein. Jedes neue Projekt benötigt das hinzufügen der Bibliothek zu Liste der verlinkten Objekte. Um dies zu machen gehe nach: Project → Configuration Options → Libraries und füge Objekt “libhomelab.a” hinzu.

Falls das Objekt libhomelab.a in der linken Liste fehlt ist die Bibliothek nicht richtig

Setting Test

Nach dem Setup der Entwicklungsumgebung sollte man diese testen, um sicherzustellen, dass sie korrekt funktioniert. Der einfachste Weg ist, ein kleines Programm zu schreiben, es zu kompilieren und in den Controller zu laden.

1. Schließe den Programmierer an dem ATmega128 Board an. Stelle sicher, dass der Programmierer richtig am JTAG Anschluss angeschlossen ist. (Kabel zeit vom Board weg - s. Bild) Schließe die Stromversorgung des Boards an (eine kleine grüne LED sollte leuchten wenn alles richtig angeschlossen ist.).

Füge den einfachen C Code ein.:

#include <avr/io.h>
#include <homelab/delay.h>
 
int main(void)
{
	// Pin PB7 to output
	DDRB = 0x80;
 
	// Endless cycle
	while (true)
	{
		// Pin PB7 invertion
		PORTB ^= 0x80;
		hw_delay_ms(500);
	}
}
Compilation and programmer buttons

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

  Build succeeded with 0 Warnings...

2. Öffne das Controllerfenster Tools → Program AVR → Auto Connect. Stelle sicher das der Tab Program offen ist..

Falls das beschriebene Fenster sich nicht öffnet und das Connection Failed Fenster öffnet sich, ist der Programmer oder das Board nicht richtig angeschlossen. Überprüfe zuerst ob der Microcontroller Strom hat (grüne LED ist an) und ob der Programmer richtig an den JTAG angeschlossen ist. Falls das OK ist, überprüfe die COM Port Nummer welche von Windows vergeben wird. Wenn diese größer als 9 ist, kann Das AVR Studio den Programmierer nicht erkennen. Folge die Anweisungen zu Beginn des Kapitels um eine Portnummer zwischen 0 und 4 zuzuweisen.

3. Im Programmer Fester füge in die Flash-sektion Textbox Input HEX File den Ort des kompilierten Programms ein in dem man den “…” Knopf drückt. Das kompilierte Programm ist normalerweise in dem Unterordner default des Projekts zu finden und hat den gleichen Namen wie das Projekt aber mit der Endung “*.hex”, z.B. “Labor1.hex”. Nach der Auswahl der richtigen Datei wähle Programm um das Programm in den Controller zu laden. Wenn alles richtig lief sollte man folgende Nachricht am Ende des Fensters sehen:

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

The list of registers in the debugger of the ATmega128.

Das Debuggen eines Programms bedeutet, dass man nach Fehlern im Programm sucht. Dafür gibt es Programme die Debugger heißen, sie erlauben es das Programm Schritt-für-Schritt auszuführen und dort zu stoppen wo es benötigt wird. Einige Funktionen des Programms erlauben das Überprüfen von Werten einer Variable zu jeder Phase des Programms, den Inhalt der Register und die Sequenz des Ausführens des Programms. Debugging ist sehr wichtig, wenn man mit komplexeren Programmen arbeitet wo es oft schwer ist Fehler zu finden. Mit Microcontrollern ist es wichtig, dass eine Schritt-für-Schritt Implementation des Programms im Controller stattfindet, welche es erlaubt die Änderung des realen Outputs als auch die Werte der Register zu sehen. Zwei Bedingungen müssen erfüllt sein um einen Debugger zu nutzen: Der Microcontroller muss debuggen unterstützen und man muss die notwendige Hardware haben - den JTAG Programmer welcher Debuggen erlaubt. Günstigere Programmieren welche ISP Programmier Interface nutzen können zwar kompilierte Programme in den Controller laden aber nicht notwendigerweise debuggen.

Um das Programm im Debugmodus zu starten, sollte es zuerst kompiliert werden in dem mann build (F7) drückt und das kompilierte Programm mit dem Befehlt run (F5) starten. Zuvor können break points (F9) in bestimmte Stellen im Quellcode eingefügt werden. Wenn die Implementation des Programms ein Breakpoint erreicht, wird das Programm gestoppt um den Status des Microcontrollers an diesem Punkt zu bestimmen. Die Implementation des Programms kann mit dem Befehl Run fortgeführt werden oder mit Step Into (F11) kann das Programm für mit nur einem Befehl auf einmal implementiert werden.

Das Nutzen von floating-point Variablen

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

1. Öffne das Set-Up des Projekts aus dem Menu Project → Configuration Options. Füge libprintf_flt.a und libm.a nach libhomelab.a der Homelab Bibliothek im Konfigurationstab Libraries hinzu.

2. Danach öffne Custom Options und wähle [All files]. Füge Zeilen mit “-lprintf_flt” ja “-lm” in die Box rechts und die Zeile mit “-uvfprintf” zu die [Linker Options] Sektion hinzu.

3. Drücke OK und schließe das Konfigurationsfenster

de/examples/setup/windows.1289346020.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0