Programmierinformationen zum Atmega32

Auslesen des Atmega32 mit dem mySmartUSB:
avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -v
avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -U flash:r:flash.hex:i
avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -U eeprom:r:eeprom.hex:i
Statt flash oder eeprom, geht auch noch lock, hfuse, lfuse und signature.

Fuse-Bits: (Zusammenfassung und Beispiele)

hfuse         OCDEN  JTAGEN SPIEN CKOPT EESAVE BOOTSZ1/SZ0 BOOTRST
  default:      1       0     0     1     1        0   0     1       = 0x99
  bis 8MHz:     1       1     0     1     1        0   0     1       = 0xD9
  fuer 16MHz:   1       1     0     0     1        0   0     1       = 0xC9
  Bootloader:   1       1     0     0     0        0   0     0       = 0xC0
lfuse       BODLEVEL  BODEN SUT1  SUT0  CKSEL3 CKSEL2 CKSEL1 CKSEL0
  default:      1       1     1     0     0      0      0      1     = 0xE1
  CeramicOsz:   1       1     1     0     1      1      1      0     = 0xEE
  fuer Quarz:   1       1     1     1     1      1      1      1     = 0xFF
Bedeutung der Fuses:
Setzen der Fuses: avrdude -p m32 -c avr910 -P /dev/ttyUSB0 -U lfuse:w:0xFF:m
Weitere Informationen zu den AVR_Fuses auf mikrocontroller.net

Speicherbelegung:
Der Atmega32 hat 32KB Flash, 1KB EEPROM und 2KB RAM.
Beim Ausschalten bleiben die Daten im Flash und EEPROM erhalten, Daten im RAM gehen verloren.
Programmbereich: Word-weise organisiert (16-Bit Worte)
0000: Application-Flash
3800: Start Boot-Flash (siehe BOOTSZ)
3FFF: letztes Word im Boot-Flash

RAM-Bereich: Byte-weise organisiert
0000: r0
0001: r1
...
001F: r31
0020: IO-Bereich
005F: letztes Byte im IO-Bereich
0060: SRAM
085F: letztes Byte

EEPROM-Bereich: Byte-weise organisiert
0000:
03FF:


Timer des Atmega32

Die sollten gleich sein wie beim ATmega8?
Letzte Änderung: 14.Sept.2010 / Rolf                                                                                 Validator