Hallo Leute, ich benutze den Bootloader fastboot von Peter in Verbindung mit einem Atmega 8. Durch eine Erweiterung in einer Applikation die ich für den Atmega 8 geschrieben habe, komme ich jetzt in die verlegenheit zusätzlich zu dem *.hex-File ein *.eep-File in den µC laden zu müssen. Dazu einige Fragen: Kann man Daten ins EEPROM eines µC über einen Bootloader schreiben? Geht das mit fastboot? Zurzeit sind mir nur Bootloader bekannt die das Programm ins Flash laden.
Wie gross sind die Daten die ins Eeprom müssen? Bei einigen wenigen Variablen z.B. kann es einfacher sein wenn dein Endprogramm sie im Flash hat und beim ersten Start initialisiert.
Im Moment sind es erst 5 Bytes an Daten im EEPROM, das wird sich aber abald noch ein wenig vergrößern. Wie ist das den überhaupt wenn sich die Adressen der Variablen im EEPROM ändern, wenn ich z.B. neu kompiliere bzw. neue Variablen hinzufüge. Kann man den überhaupt über einen Bootloader Daten in den EEPROM laden, oder geht das gar nicht?
Wenn du genug platz im Flash hast für eine Initialisierung, ist das wahrscheinlich der einfachste Weg. Über die verschiedenen Bootloader kann ich dir nicht Auskunft geben, ich habe noch nie welche verwendet. Es gibt aber keinen Grund, weshalb ein Bootloader nicht auch das EEPROM beschreiben können soll, falls es so einen noch nicht gibt (was ich für unwahrscheinlich halte) musst du halt einen der bestehenden selber um diese Funktion erweitern. Adressen ändern sollte kein Problem sein, solange die im Chip enthaltene Version des EEPROM Inhalts mit dem zugehörigen Programm übereinstimmt.
Naja ich benutze den Bootloader auch nur um Pins zu Sparen und nicht so versierten Nutzern ein update der Firmware zu erleichtern. Wie würde man den Praktisch ein schreiben der Daten in das EEPROM realisieren? Also erstmal muss ja der Bootloader wissen ob die jetzt gesendeten Daten in den Flash oder EEPROM sollen. Da die Daten per http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Block_lesen.2Fschreiben einfach schreiben, sobald sie über RS232 empfangen werden? Dann brauch man aber bestimmt einen Buffer, da das Schreiben in das EEPROM ja nicht allzu schnell ist.
>Naja ich benutze den Bootloader auch nur um Pins zu Sparen und nicht so >versierten Nutzern ein update der Firmware zu erleichtern. Zu den nicht versierten Nutzern scheinst du auch zu gehören. >Wie würde man den Praktisch ein schreiben der Daten in das EEPROM >realisieren? Daten übertragen und ins EEPROM speichern? >Dann brauch man aber bestimmt einen Buffer, da das Schreiben in das >EEPROM ja nicht allzu schnell ist. Nö. Dein Programm zum füttern des Bootloaders kann ja auch warten bis der Bootloader ins EEPROM geschrieben hat. Aber irgendwie sieht es so aus als wenn du das sowieso nicht selber schreiben kannst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.