Hallo Zusammen ich baue für ein paar Freunde ein paar simple Geräte mit AVR uC (aktuell Atmega328). Falls ich mal ein Update der Software erstelle (Bugfix, neue Funktionen), besteht die Möglichkeit, dass ich die neue Software über ein EEprom in den uC einspielen kann? Meine Freunde sind nur Anwender und ich möchte ein mögliches SW update so einfach wie möglich machen (Gerät auf, EEprom tausche, Gerät zu, fertig). Anschlüsse wie USB sind am Gerät nicht vorhanden und möchte ich wenn möglich vermeiden. Geht das? Nach welchen Stichworten muss ich suchen um mich schlau zu machen? Bin ein ziemlicher Neuling auf dem Gebiet. Vielen Dank für eure Unterstützung. Gruss und schönen Sonntag noch! Markus
markus schrieb: > ich baue für ein paar Freunde ein paar simple Geräte mit AVR uC (aktuell > Atmega328). Falls ich mal ein Update der Software erstelle (Bugfix, neue > Funktionen), besteht die Möglichkeit, dass ich die neue Software über > ein EEprom in den uC einspielen kann? Meine Freunde sind nur Anwender > und ich möchte ein mögliches SW update so einfach wie möglich machen > (Gerät auf, EEprom tausche, Gerät zu, fertig). Anschlüsse wie USB sind > am Gerät nicht vorhanden und möchte ich wenn möglich vermeiden. Im Gegensatz zu 8051 und vielen anderen Architekturen kann ein AVR Code nur aus dem internen Flash ausführen. Bevor Du EEPROMs tauschen lässt, lass deine User doch den AVR tauschen. Für die User ist der Aufwand der gleiche, und Du hast null Aufwand. Wenn Du ihnen die Arbeit erleichtern willst, mach einen Nullkraftsockel rein. fchk
markus schrieb: > besteht die Möglichkeit, dass ich die neue Software über > ein EEprom in den uC einspielen kann? Geht. Du kannst einen Bootloader bauen, der den Inhalt vom EEPROM ins Flash programmiert, wenn er einen Unterschied sieht.
Am einfachsten wäre es natürlich über eine Serielle Schnittstelle, aber da du das ja nicht willst... Klar kann man ein Update auch über ein EEPROM machen, einfach beim Start ein Magicbyte, am besten noch mit Version und Checksumme aus dem ERPROM auslesen und dann wenns ne neuere Version ist auslesen und ins Flash speichern. Im Grunde ist es so einfach das wenn man dafür Hilfe braucht, lieber die Finger davon lassen sollte. Ansonsten schau dir mal ein Beispiel zum SPM Mnemonic an.
markus schrieb: > ich baue für ein paar Freunde ein paar simple Geräte mit AVR uC (aktuell > Atmega328). Falls ich mal ein Update der Software erstelle (Bugfix, neue > Funktionen), besteht die Möglichkeit, dass ich die neue Software über > ein EEprom in den uC einspielen kann? Natürlich geht das. Du musst einfach nur einen passenden Bootloader schreiben. Der muss erkennen können, ob die Firmware im externen EEPROM eine andere ist als die im Flash und wenn das der Fall ist, halt die aus dem EEPROM in den Flash kopieren und einen Reset auslösen. Ich würde aber als Medium statt EEPROM eher SD-Card benutzen. Die kann man viel "benutzerfreundlicher" realisieren. Ausserdem findest du dafür bereits fertige Bootloader im Netz.
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.