AVR Programmer
Allgemein
Um ein generiertes Programm (.hex- File) bzw. EEProm-Daten (.eep- File) in einen Microcontroller zu laden, ist ein Porgrammer nötig. Diese werden meist als ISP (Incircuit Serial Programmer) bezeichnet. Der Name sagt es bereits aus, dass der AVR Controller zum Programmieren nicht ausgebaut werden muss, sondern in der Schaltung Programmiert werden kann. Dazu ist allerdings ein ISP-Steckplatz in der Schaltung erforderlich. Es besteht aber auch die Möglichkeit, die Software mit Hilfe eines sog. Bootloaders in den Controller zu übertragen. Es gibt Versionen für die Serielle Schnittstelle, I2C und Netzwerk. Der Bootloader muss aber zunächst per ISP in den Controller übertragen werden. Der Bootloader empfängt das zu programmierende .hex - File und legt es im Controller ab (selfprogramming).
ISP-Programmer
Incircuit Serial Programmer gibt es zahlreiche. Und obwohl das Serial in ISP darauf schließen lassen könnte, werden die meisten ISP's nicht per RS232 Schnittstelle mit dem PC verbunden. Es gibt Versionen für Parallel-Port, Seriell-Port und USB.
Parallel
Seriell
USB
Programmiersoftware
Um das .hex -File in den Controller zu übertragen ist neben der Programmier- Hardware auch Software nötig, die den Programmer ansteuert. Als Quasi- Standard in der Windows- und Linux- Welt hat sich dafür AVRDude entwickelt. Dieses unterstützt zahlreiche verschiedene ISP-Programmer und ist bereits im Lieferumfang von WinAVR enthalten. Unter Linux ist es aber für die meisten Distributionen erhältlich, sodass die Installation auch unter Linux kein Problem darstellt. Daneben kann auch AVRStudio direkt selbst die ATMEL- ISP-Programmer (bzw. diejenigen, die einen ATMEL ISP emulieren) ansteuern.