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
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 (;
Euer ts230
[schild=14 fontcolor=008000 shadowcolor=FF0000 shieldshadow=1]Roboter sind cool[/schild]
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
NOTHING IS IMPOSSIBLE
Ihr werdet alle ver-apple-t!
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.
Euer ts230
[schild=14 fontcolor=008000 shadowcolor=FF0000 shieldshadow=1]Roboter sind cool[/schild]
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?
Euer ts230
[schild=14 fontcolor=008000 shadowcolor=FF0000 shieldshadow=1]Roboter sind cool[/schild]
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.
Vor den Erfolg haben die Götter den Schweiß gesetzt
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?
Euer ts230
[schild=14 fontcolor=008000 shadowcolor=FF0000 shieldshadow=1]Roboter sind cool[/schild]
Lesezeichen