Weil es immer wieder angefragt wird, wie man Firmware Updates in das XS-1541 bringt ohne Programmer, - die Lösung ist ein Bootloader. Ich habe mehrere Bootloader ausprobiert und finde den von Martin THOMAS sehr praktisch.
Der Bootloader von Martin THOMAS braucht nur 2K Speicher und arbeitet direkt mit HEX Dateien. Zudem braucht es am PC keine besondere Software. Es genügt das Programm AVR-Prog das beim AVR Studio dabei ist und kostenlos von Atmel geladen werden kann.
Die Fuse BOOTSZ wird auf flashsize=1024 gesetzt und das BOOTRST Bit wird gelöscht (Highfuse auf 0xDC). Dazu wird das Lockbit BLB1 gesetzt auf "SPM prohibited" (Lockbit auf 0xEF) damit der Bootloader geschützt wird.
Der Bootloader wartet nach einem Reset 3 Sekunden lang auf Aktivierung, dann wird das XS-1541 gestartet. Die Aktivierung erfolgt durch Eingabe eines großen 'S', das der AVR-Prog beim Starten sendet. Man muss also den AVR Prog unmittelbar nach einem Reset starten. Alternativ dazu kann man das S auch vom Terminalprogramm aus senden und den Bootloader quasi manuell starten.
Danach erkennt AVR Prog das Modul als Programmer. Nicht vergessen dass Terminal Programm beenden bevor AVR Prog gestartet wird, sonst ist der COM Port belegt und AVR findet das Modul nicht.
Den Sourcecode des Bootloader gibt es hier: klick
Anbei der Bootloader für den Atmega644 - brennfertig. Hex Datei flashen, Fuses setzen und freuen ...
.