Gast
#1647722
Hallo, das Problem mit der scheinbaren Wirkungslosigkeit der BOOTRST-Fuse, ist hier im Forum schon für andere ATmega-Typen beschrieben worden. Leider hat bisher niemand eine Erklärung dafür gefunden. Folgendes: Ich habe ein ganz kleines Programm geschrieben, dass jeweils eine LED einschaltet und dann in eine Endlosschleife geht. Interrupts werden nicht benutzt. Dieses Programm habe ich nun in jeweils zwei Versionen compiliert. Eine startet bei Adresse 0x0000 und die andere bei 0xfc00. Beide schalten weiterhin jeweils eine andere LED an. Man kann daher genau sagen, welches Programm ausgeführt wird. Die Endlosschleife nach dem LED-Einschalten verhindert weiterhin, dass die CPU die ff's als NOPs interpretiert und durch den Speicher läuft, bis es ein Programm gefunden hat. So weit, so gut. Diese beiden Programme habe ich nun in den ATmega geladen. Anschließend habe ich den Flash ausgelesen, und kontrolliert, dass beide Programme an der richtigen Stelle liegen. Durch Ändern der BOOTRST-Fuse sollte nun einmal die eine, und dann die andere LED leuchten. Tut es aber nicht. Es läuft immer das Programm, welches bei Adresse 0x0000 steht. Offenbar lässt sich der Reset-Vektor durch den Wert der BOOTRST-Fuse nicht beeindrucken. BOOTSZ ist dabei auf 0xfc00 eingestellt. Ich benutze AVR-Studio. Hat jemand irgend eine Ahnung was das sein kann?? Viele Grüße Steffen