-
Notifications
You must be signed in to change notification settings - Fork 6
fuses
An den Atmega Controllern muessen gewisse Einstellungen vorgenommen werden. Dies geschieht durch Setzen von Fuses. Folgende Einstellungen werden gewaehlt:
-
als Clock wird der externe Quarz verwendet
-
der Clockschwingkreis wird auf die Einstellung noisy gesetzt, dadurch schwingt er stabiler, ist unempfindlicher gegen aeussere Einfluesse, verbraucht aber auch minimal mehr Strom (ca. 0,5 mA mehr)
-
die Bootloader Funktionalitaet wird aktiviert; der Atmega32 springt nach jedem Reset direkt an den Anfang des Speicherbereichs des Bootloaders
-
der Bootloader Speicher wird geschuetzt; dadurch ist ein versehentliches Ueberschreiben des Bootloaders nicht moeglich
-
der Watchdog wird aktiviert
-
die Brown-Out Detection wird aktiviert
Zuerst muss die Stromzufuhr und der CAN Bus angeschlossen werden. Sobald das Board Strom erhaelt, leuchtet (sofern vorhanden) die kleine gelbe LED.
Zum Programmieren der Fuses und des Bootloaders wird das ISP-Programmierkabel in den ISP Sockel auf dem Board gesteckt. Dabei ist das graue Kabel an Pin 1, das gruene Kabel an Pin 5 zu stecken.
Auf dem Linux-Rechner, an dessen Parallelport das ISP Kabel angschlossen ist, werden nun die folgenden Kommandos abgesetzt:
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_h=0xc0
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_l=0x0f
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_lock=0x2f
Alternativ mit dem avrispmkII-Programmer und fuer den ATmega644p:
$ avrdude -c avrispmkII -p m644p -P usb -U flash:w:"hcanBL_$(MCU)/$(TARGET).hex" -U hfuse:w:0xD0:m -U lfuse:w:0xc7:m -U efuse:w:0xfc:m
Einfach zu erreichen per make flash @ hcanbl.
Achtung: das Hostinterface verwendet keinem Bootloader. Daher unterscheiden sie die Fuse Werte:
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_h=0xc0
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_fuse_l=0x03
$ uisp -dlpt=/dev/parport0 -dprog=dapa --wr_lock=0x2f
Alternativ mit dem avrispmkII-Programmer:
$ avrdude -c avrispmkII -p m32 -P usb -e -U flash:w:"main.hex" -U hfuse:w:0xC0:m -U lfuse:w:0x03:m -U lock:w:0x2F:m
Einfach zu erreichen per make flash @ firmwares/hostinterface-v02.
Genauere Infos zu den Fuse Registern finden sich im Atmega32 Datenblatt und in der Datei doc/atmega32-initial-setup des Quelltext-Baumes.
-
Tutorials
-
FAQ
-
Referenz
- Konzepte
- Hardware
- Software/PC
- Software/Firmware
- Patches
- EDS - EEPROM Data System
- HCAN Protokoll
- HCAN Protokoll - Referenz