Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Bootloader
Hallo,
ich möchte in meine C-Software für einen ATMega644 eine Updateroutine einbauen.
Diese sollte(wenn möglich) nicht größer als 1kb sein und die Programmdaten von der Seriellen Schnittstelle entgegennehmen.
Da ich sowas noch nie gmacht habe,hab ich ja wirklich keine Ahnung.
Bitte helft mir (;
Hi,
Am besten du googelst mal nach diesen zwei Stichwörtern.
Dann findest du zahlreiche Einträge und fertige Bootloader, die nur darauf warten gebraucht zu werden ;-)
Gruss
Hubert.G
22.01.2009, 10:47
Hier gibts eine Menge Links dazu: www.mikrocontroller.net/articles/Bootloader
Ja aber die sind alle in Assembler.
Ich wollte das aber in C,so dass ich jederzeit Neuflashen kann.
Hubert.G
24.01.2009, 20:22
Willst du dir den Bootloader neu schreiben?
Flashen kannst du ja dann was du willst.
Ich brauch ja nur Routinen zum beschreiben des Flash.
Was sollte ich da Beachten?
Ich sende Das HEX-File zeile für Zeile zum Controller.
Wie muss ich mit den Daten umgehen?
Was macht das :-Zeichen?
Dann könnte ich es auch selber machen.
Ich möchte halt zur Laufzeit Flashen,ohne ein Reset zu machen.
Ansonsten könnte ich doch mit einem "JMP" zum Bootloader springen?
aha, du willst Daten in den Flash schreiben.
SPM kann halt nur aus dem Bootloaderbereich heraus
gemacht werden im Progmem gehts nicht.
Im Prinzip kannst Du in den Loaderbereich Jumpen
und wieder zurück.
Aber Vorsicht, das laufende Programm überschreiben
kann dann ins Nirvana schicken.
Könnte jmd. mir bitte Beispiele geben wie ich einen Block flasht(ATMEGA644)?
Wie groß ist die größe eines blocks?
Ich lese eine Zeile der HEX-Datei und schicke es über RS232.
Was bedeutet der Doppelpunkt in der HEX-Datei?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.