EDIT 18.02.2013: Achtung, die Software wird zukünftig nicht mehr unterstützt! Ich schreibe einen neuen Bootloader. Die Programmierung von Flash und Eeprom erfolgt dann über die Windows-Bediensoftware des Nano Developmentboards.
EDIT 20.04.2013: Weitere Informationen zur Programmierung des Mikrocontrollermoduls findet ihr im Thema Neue Version Nano Development Manager.
Mega128-USB Programmer ist ein Entwicklungstool und Programmiersystem für das Mikrocontrollermodul MEGA128-USB. Das Flash-Memory des Mikrocontrollers ATmega128-16MU wird über die USB-Schnittstelle programmiert. Das Mikrocontrollermodul wird mit vorinstalliertem Bootloader ausgeliefert, so daß kein zusätzlicher Programmierer erforderlich ist.
Der Bootloader benötigt lediglich eine Flash-Memory-Größe von 2 kByte (8 pages). Für Informationen wie Anzahl der Flashzyklen, Zeit und Datum der letzten Programmierung und den Validierungsstatus, werden zusätzlich 128 Byte (1 page) benötigt.
Für das Applikationsprogramm steht eine Flash-Memory-Größe von 128.768 Byte zur Verfügung (0x0000 bis 0x1F6FF).
Aktivierung des Bootloader:
A. Aktivierung des Bootloader durch das Applikationsprogramm
Idealerweise erfolgt die Aktivierung des Bootloader durch das Applikationsprogramm. USART1 des ATmega128 muss wie folgt initialisiert werden:
B. Aktivierung des Bootloader durch einen Inputpin
Nun kann es passieren, dass man entweder in dem Sourcecode seines Applikationsprogramms einen Fehler hat, so dass eventuell nicht auf das Kommando StartBootloader des PC-Programms reagiert werden kann oder dass man in seinem Programm USART1 überhaupt nicht initialisiert hat. In beiden Fällen würde der Bootloader nicht mehr starten, so dass eine Programmierung über USB nicht mehr möglich ist.
Abhilfe ermöglicht ein Inputpin des Mikrocontrollers (EnforceBootloaderPin = EB-Pin). Wird dieser Pin bei Reset auf den Pegel logisch low gelegt, startet der Bootloader, dieser startet jedoch nicht mehr das Applikationsprogramm, so dass sich das Mikrocontrollermodul wieder über USB programmieren läßt.
Der EB-Pin der Bootloader-Version 1.30.0 ist der Pin PG4 des ATmega128. Der Pin PG4 dient auch als Oszillator-Pin (TOSC1). Wird hier der Oszillator genutzt oder wird der Pin für andere Zwecke benötigt, kann ein anderer Bootloader verwendet werden, bei dem der EB-Pin einem anderen IO-Pin des Mikrocontrollers zugewiesen ist.
Nachdem ein Programmfile (Intel Hex) im PC-Programm geladen und der Button Program Flash File betätigt wurde, wird der Programmiervorgang gestartet. Folgende Schritte werden durchgeführt:
Das Entwicklungstool Mega128-USB Programmer läuft auf den Betriebssystemen Windows 2000/XP/Server2003/Vista. Damit Windows das Mikrocontrollermodul richtig erkennt, muss zuerst der USB-Treiber vorinstalliert werden. Ist der Treiber einmal vorinstalliert, installiert Windows den Treiber nach dem erstmaligen Anschließen des Mikrocontrollermoduls an USB vollständig. Das Installationsprogramm des USB-Treibers ist im Download-Verzeichnis enthalten.
Mega128-USB Programmer erkennt automatisch ein angeschlossenes Mikrocontrollermodul. Wird ein Mikrocontrollermodul an USB angeschlossen und befindet sich ein Applikationsprogramm im Flash-Memory, wird die Anzahl der Flashzyklen des Moduls, sowie Zeit und Datum der letzten Programmierung ausgelesen und angezeigt.
Das Mikrocontrollermodul wird mit einem installiertem Bootloader ausgeliefert, so dass eine Programmierung des Bootloader nicht mehr notwendig ist.
Es kann aber vorkommen, dass man eine andere Position des EB-Pins benötigt (siehe Punkt 2 B) und somit einen anderen Bootloader installieren möchte. Sicherlich wird auch das PC-Programm und der Bootloader weiterentwickelt und mit neuen Features ausgestattet, so daß eine Programmierung hier ggf. sinnvoll ist.
Möchte man den Bootloader programmieren, sind folgende Fuse-Einstellungen wichtig:
Habt ihr Fragen, Kritik oder Anregungen, dann könnt ihr in diesem Unterforum eure Beiträge schreiben.
Mega128-USB Programmer
Revision 1.0 [16.08.2008]
- Erstversion
Revision 1.2 [31.08.2010]
- Überarbeitung von Routinen, welche auf die neue Silabs SiUSBXp.dll [3.2.2.0] zugreifen
Bootloader
Revision 1.30.0 [16.08.2008]
- Erstversion
Wenn ihr das Programmpaket downloaden möchtet, müsst ihr registrierter Benutzer sein. Wenn ihr euch in unserem Forum registrieren möchtet, könnt ihr diesem link folgen.
Aktuelle Version: 1.2 [31.08.2010]
(Überarbeitung von Routinen, welche auf die neue Silabs SiUSBXp.dll [3.2.2.0] zugreifen)
EDIT 18.02.2013: Achtung, die Software wird zukünftig nicht mehr unterstützt! Ich schreibe einen neuen Bootloader. Die Programmierung von Flash und Eeprom erfolgt dann über die Windows-Bediensoftware des Nano Developmentboards.
EDIT 20.04.2013: Weitere Informationen zur Programmierung des Mikrocontrollermoduls findet ihr im Thema Neue Version Nano Development Manager.



Mega128-USB Programmer ist ein Entwicklungstool und Programmiersystem für das Mikrocontrollermodul MEGA128-USB. Das Flash-Memory des Mikrocontrollers ATmega128-16MU wird über die USB-Schnittstelle programmiert. Das Mikrocontrollermodul wird mit vorinstalliertem Bootloader ausgeliefert, so daß kein zusätzlicher Programmierer erforderlich ist.


Der Bootloader benötigt lediglich eine Flash-Memory-Größe von 2 kByte (8 pages). Für Informationen wie Anzahl der Flashzyklen, Zeit und Datum der letzten Programmierung und den Validierungsstatus, werden zusätzlich 128 Byte (1 page) benötigt.
Für das Applikationsprogramm steht eine Flash-Memory-Größe von 128.768 Byte zur Verfügung (0x0000 bis 0x1F6FF).
Aktivierung des Bootloader:
A. Aktivierung des Bootloader durch das Applikationsprogramm
Idealerweise erfolgt die Aktivierung des Bootloader durch das Applikationsprogramm. USART1 des ATmega128 muss wie folgt initialisiert werden:
- 8 Bit
- kein Parity
- 1 Stopp Bit
- Datenrate 250kBit/s
B. Aktivierung des Bootloader durch einen Inputpin
Nun kann es passieren, dass man entweder in dem Sourcecode seines Applikationsprogramms einen Fehler hat, so dass eventuell nicht auf das Kommando StartBootloader des PC-Programms reagiert werden kann oder dass man in seinem Programm USART1 überhaupt nicht initialisiert hat. In beiden Fällen würde der Bootloader nicht mehr starten, so dass eine Programmierung über USB nicht mehr möglich ist.
Abhilfe ermöglicht ein Inputpin des Mikrocontrollers (EnforceBootloaderPin = EB-Pin). Wird dieser Pin bei Reset auf den Pegel logisch low gelegt, startet der Bootloader, dieser startet jedoch nicht mehr das Applikationsprogramm, so dass sich das Mikrocontrollermodul wieder über USB programmieren läßt.
Der EB-Pin der Bootloader-Version 1.30.0 ist der Pin PG4 des ATmega128. Der Pin PG4 dient auch als Oszillator-Pin (TOSC1). Wird hier der Oszillator genutzt oder wird der Pin für andere Zwecke benötigt, kann ein anderer Bootloader verwendet werden, bei dem der EB-Pin einem anderen IO-Pin des Mikrocontrollers zugewiesen ist.

Nachdem ein Programmfile (Intel Hex) im PC-Programm geladen und der Button Program Flash File betätigt wurde, wird der Programmiervorgang gestartet. Folgende Schritte werden durchgeführt:
- Flash Erase (führt ausschließlich der Bootloader durch)
- Program Flash
- Verify Flash
- Write Info Page (bei erfolgreichem Verify)
- Start Applikation (bei erfolgreichem Verify)

Das Entwicklungstool Mega128-USB Programmer läuft auf den Betriebssystemen Windows 2000/XP/Server2003/Vista. Damit Windows das Mikrocontrollermodul richtig erkennt, muss zuerst der USB-Treiber vorinstalliert werden. Ist der Treiber einmal vorinstalliert, installiert Windows den Treiber nach dem erstmaligen Anschließen des Mikrocontrollermoduls an USB vollständig. Das Installationsprogramm des USB-Treibers ist im Download-Verzeichnis enthalten.
Mega128-USB Programmer erkennt automatisch ein angeschlossenes Mikrocontrollermodul. Wird ein Mikrocontrollermodul an USB angeschlossen und befindet sich ein Applikationsprogramm im Flash-Memory, wird die Anzahl der Flashzyklen des Moduls, sowie Zeit und Datum der letzten Programmierung ausgelesen und angezeigt.

Das Mikrocontrollermodul wird mit einem installiertem Bootloader ausgeliefert, so dass eine Programmierung des Bootloader nicht mehr notwendig ist.
Es kann aber vorkommen, dass man eine andere Position des EB-Pins benötigt (siehe Punkt 2 B) und somit einen anderen Bootloader installieren möchte. Sicherlich wird auch das PC-Programm und der Bootloader weiterentwickelt und mit neuen Features ausgestattet, so daß eine Programmierung hier ggf. sinnvoll ist.
Möchte man den Bootloader programmieren, sind folgende Fuse-Einstellungen wichtig:


Habt ihr Fragen, Kritik oder Anregungen, dann könnt ihr in diesem Unterforum eure Beiträge schreiben.

Mega128-USB Programmer
Revision 1.0 [16.08.2008]
- Erstversion
Revision 1.2 [31.08.2010]
- Überarbeitung von Routinen, welche auf die neue Silabs SiUSBXp.dll [3.2.2.0] zugreifen
Bootloader
Revision 1.30.0 [16.08.2008]
- Erstversion

Wenn ihr das Programmpaket downloaden möchtet, müsst ihr registrierter Benutzer sein. Wenn ihr euch in unserem Forum registrieren möchtet, könnt ihr diesem link folgen.
Aktuelle Version: 1.2 [31.08.2010]
(Überarbeitung von Routinen, welche auf die neue Silabs SiUSBXp.dll [3.2.2.0] zugreifen)
EDIT 18.02.2013: Achtung, die Software wird zukünftig nicht mehr unterstützt! Ich schreibe einen neuen Bootloader. Die Programmierung von Flash und Eeprom erfolgt dann über die Windows-Bediensoftware des Nano Developmentboards.