Dieser Teil meiner Webseite soll helfen, das WinAVR-Programmpaket effektiver nutzen zu können.

Mir persönlich war es nämlich auf Dauer zu mühselig, ständig die Windows Eingabeaufforderung zum Kompilieren mit avrgcc, das Programmers Notepad mit meinem Quelltext und Pony-Prog zur Programmierung des Controllers parallel geöffnet zu halten.

Glücklicherweise kann man all diese Funktionen unter der Oberfläche des Programmers Notepad vereinigen.

Hierzu muss das PN gestartet werden. Man findet dann unter Tools --> Options die Möglichkeit, die entsprechenden Modifikationen vorzunehmen.



Die Betätigung des Buttons "ADD" ermöglicht es nun, die Einstellungen einzutragen. Hier sollten der Reihe nach folgende Einstellungen eingetragen werden:

Name

Command

Folder

Parameters

Save

This tool

will modify…

Capture

output?

Clear output…

Use built-in

parser

Make All

make

%d

all

Current File

No

Main

No

Yes

Make Clean

make

%d

clean

None

No

Main

No

Yes

Make Extcoff

make

%d

extcoff

None

No

Main

No

Yes

Program Device

make

%d

program

None

No

Main

No

Yes

 Nun sollten alle soeben definierten Zusatzfunktionen unter Tools verfügbar sein.

Make All sorgt dafür, dass die im Makefile unter Target angegebene *.c-Datei kompiliert wird.
Make Clean löscht alle bei Make All entstandenen Dateien wieder.
Make Extcoff erzeugt eine Datei, mit deren Hilfe die Arbeit des MC im AVR-Studio simuliert werden kann.
Program Device programmiert, wie der Name schon sagt, die mit Make All erzeugte *.hex-Datei in den MC.

Unter Umständen kann es aber sein, dass zusätzlich noch das makefile angepasst werden muss. Beispielsweise muss für den avrdude (Programmer aus dem WinAVR Paket, äquivalent zu Pony-Prog) noch eingetragen werden, welcher Programmieradapter verwendet wird. Zusätzlich muss noch definiert werden, über welche Schnittstelle des Computers die Datenübertragung laufen soll. In meinem Fall sieht das Ganze wie folgt aus:

AVRDUDE_PROGRAMMER = pony-stk200
AVRDUDE_PORT = lpt1 # programmer connected to parallel port

Soll aus welchen Gründen auch immer Pony-Prog verwendet werden, so sind die folgenden Codezeilen nötig:
Das steht standardmäßig im Makefile:

# Program the device.
program: $(TARGET).hex $(TARGET).eep
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)

Diese Zeilen sollten durch die folgenden ersetzt werden:

# Programming support using ponyprog. Settings and variables.
#PONYPROG= ponyprog2000.exe
PONYPROG= C:\Programme\ponyprog2000\ponyprog2000.exe
# Program the device.
program: $(TARGET).hex $(TARGET).eep
               echo -e "SELECTDEVICE $(MCU)\nLOAD-PROG $(TARGET).hex\n#LOAD-DATA $(TARGET).eep\nWRITE-PROG" >isp.e2s
               $(PONYPROG) isp.e2s

WICHTIG: Vor "echo -e" muss ein Tabulator gesetzt werden. Der folgende Code muss eine zusammenhängende Zeile sein, bis $(PONYPROG). Davor muss nach dem Zeilenumbruch erneut ein Tabulator gesetzt werden.
Generell gilt, dass in einem Makefile ein wesentlicher Unterschied zwischen einem Leerzeichen und einem Tabulator besteht!

Bei der Verwendung müssen unter den Betriebssystemen Windows NT / 2000 / XP zusätzlich noch Treiber installiert werden. Hierbei handelt es sich um "giveio.sys". Eine Suche bei Google unter dem entsprechenden Stichwort sollte schnell zum Erfolg führen.

Bei Verwendung des WinAVR-Paketes besteht im Prinzip keinerlei Notwendigkeit Ponyprog zu verwenden, da avrdude alle benötigten Features mitbringt. Einzig zum Setzen der Fuse-Bits sind Ponyprog bzw. Yaap gut geeignet.

Prinzipiell muss ein Anfänger im Standard-Makefile von WinAVR nur die folgenden Sachen editieren:

Die restlichen Sachen sind im Normalfall bereits gebrauchsfertig eingetragen.

 

Zurück zur Startseite.