Nils schrieb:
> Moin,
>
> ich habe auf meinem Chip einen eigenen Bootloader und das eigentliche
> Programm. Folgende Situation möchte ich lösen:
>
> Beim Anschalten des ATmegas soll der Bootloader sofort auf die Adresse
> 0x00 springen, also das eigentliche Programm und dort soll, wenn über
> Usart etwas empfangen worden ist zum Bootloader gesprungen werden und
> seine eigentliche FUnktion ausgeführt werden.
>
> Reicht es, wenn ich das Fuse so setze, dass nicht mit dem Bootloader
> gestartet wird und wenn dann ein Zeichen empfangen wurde, der nach
> 0x1c00 springt?
Nils, das wäre sehr gefährlich. Ich wäre auch überrascht, wenn es ginge.
Was, wenn ein Bootvorgang scheitert - und in der Application Section
dann Unklares steht?
Die Entwickler von AVR haben sich schon was gedacht.
Deine Anwendung, so wie Du sie hier beschrieben hast, ist auch mit den
Atmegas erreichbar - Dootloader startet das Application Program. Wenn
dies einen Boot-Befehl liest, setzt es einen Flag (ich benutze dazu das
EEPROM) und startet den Prozessor erneut - dann ist der Bootloader
wieder dran.
Besondere Anlässe erfordern besondere Maßnahmen, ja, aber Deine Aufgabe
hat nicht erkennen lassen, was denn das Besondere an ihr sein solle.
Ciao
Wolfgang Horn