Forum: Mikrocontroller und Digitale Elektronik BOOTRST Fuse ohne Bootloader


von Sven (Gast)


Lesenswert?

Hallo,

was passiert bei einem AVR ATmega88, wenn man aus Versehen die BOOTRST 
Fuse programmiert ohne einen Bootloader auf dem Chip zu haben?
Kommt es zu Fehlfunktionen?

Ich habe es aus Versehen in einer Anwendung nämlich getan, aber bisher 
keine Probleme festgestellt. Ändere das natürlich umgehend, aber die 
Grundfrage interessiert mich dennoch.

Danke.

von Dieter M. (Gast)


Lesenswert?

Nach dem Chip erase steht in allen Speicherstellen 0xFF (= opcode für no 
operation)(wenn ich mich recht erinnere)
Beim Flashen wird der Speicher nur mit dem Programm voll geschrieben, 
der Rest bleibt 0xFF.
Wenn das Programm kleiner ist als die Adresse für den 
Bootloadereinsprung, steht auch dort 0xFF.
Programmzeiger springt dort hin, führt den nop aus... bis zum Ende des 
Speichers. Von dort Überlauf des Programmzeigers -> Sprung an Adresse 
0x0000, wie beim Start ohne bootrst, das Programm wird normal 
ausgeführt.

Anders natürlich, wenn das Programm größer als die Bootrst 
Einsprungadresse. Dann kommt wahrscheinlich Müll raus.

von MWS (Gast)


Lesenswert?

Dieter M. schrieb:
> Bootloadereinsprung, steht auch dort 0xFF.
> Programmzeiger springt dort hin, führt den nop aus...

NOP = 0x00 <> 0xFF

von c-hater (Gast)


Lesenswert?

MWS schrieb:

> NOP = 0x00 <> 0xFF

Wirkt aber trotzdem genau wie ein NOP. Ich habe nie im Detail alle 
undokumentierten Opcodes des AVR untersucht, aber die paar, die ich 
(gezielt) auspobiert habe, tun allesamt nur eins: dasselbe wie NOP.

Vermutlich passiert die Decodierung tabellengetrieben und nicht per 
unvollständiger Klapperlogik wie zu seligen 6502-Zeiten.

Und wenn Atmel weitere Opcodes für Befehlssatzwerweiterungen braucht, 
dann wird $ff mit an Sicherheit grenzender Wahrscheinlichkeit der 
allerletzte sein, den sie verwenden werden...

von Drobel (Gast)


Lesenswert?

c-hater schrieb:

> Und wenn Atmel weitere Opcodes für Befehlssatzwerweiterungen braucht,
> dann wird $ff mit an Sicherheit grenzender Wahrscheinlichkeit der
> allerletzte sein, den sie verwenden werden...

Hoffentlich weiß Atmel das auch.

von MWS (Gast)


Lesenswert?

c-hater schrieb:
> aber die paar, die ich
> (gezielt) auspobiert habe, tun allesamt nur eins: dasselbe wie NOP.

Auf unterschiedlichen AVR's ?
Das Problem undokumentiertem Verhaltens - es gibt keine Garantie dafür, 
ob's bei einem oder allen so ist, ob das einfach ignoriert wird, oder 
auch einen Reset auslöst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.