Gast
#1492204
Hallo, ich nutze AVR-Studio und habe ein kleines Programm für den ATmega8 geschrieben, dass ich gerne im Boot-Bereich des Flashs ablegen möchte und auch von dort aus direkt nach einem Reset ausführen möchte. Das Programm lässt nur eine LED blinken. Es funktioniert auch ganz prima. Später soll es zu einem Bootloader ausgebaut werden. Wenn ich jetzt bei den Projekteinstellungen unter "Memory Settings" die Zeile "Flash .text 0xc00 hinzufüge", dann sieht auch die Hex-Datei korrekt aus: Der Programmcode liegt nicht mehr am Anfang sondern am Ende in der Hex-Datei. Der Bereich vor dem Programmcode ist mit FF gefüllt. Bei den Fusebits habe ich unter BOOTSZ folgende Einstellung: "Boot Flash size=1024 words Boot address=$0C00" Außerdem setze ich noch den Haken bei BOOTRST. Leider startet mein Programm nicht. Meine bisheringe Fehleranalyse: Ich habe die Einstellung bei "Memory Settings" wieder rückgängig gemacht, sodass das Programm wieder am Anfang der Hex-Datei steht. Wenn ich es jetzt flashe, startet es auch sofort. Und zwar unabhängig davon, ob ich BOOTRST gesetzt habe oder nicht. Das finde ich komisch, da ich erwartet hätte, dass wenn BOOTRST gesetzt ist, das Programm nicht startet, da der Einstiegspunkt in einem Bereich liegt, der keinen Programmcode enthält. Danke, heinz