Hallo, ich hab da mal ne Frage. Doch zuerst den aktuellen Stand. Ich habe einen At-Mega 328 über die SPI-Schnittstelle mit einem Funkmodul Typ RFM23BP verbunden und programmiert. Funktional und Formschön! Jetzt kommt die Frage: Ich es softwaretechnisch machbar, über die vorhandene Funkstrecke das Programm des At-Mega zu neu flashen. Auch auf die Gefahr hin, wenn die Kommunikation zusammenbricht, der AT-Mega nicht mehr läuft! Wäre für mich wichtig zu wissen, ob das technisch machbar wäre. Vielen Dank im voraus.
Wenn du dir einenn Bootloader schriebst, der den RFM12BP anspricht und die Daten entsprechend ins Flash schreibst, ist das möglich. Die Frage ist allerdings, ob du genug speicher für den Bootloader hast
Heinrich Frühauf schrieb: > Ich es softwaretechnisch machbar, über die vorhandene > Funkstrecke das Programm des At-Mega zu neu flashen. Auch auf die Gefahr > hin, wenn die Kommunikation zusammenbricht, der AT-Mega nicht mehr > läuft! Verstehe ich das richtig? Es wäre also für dich akzeptabel, daß du u.U. den Controller brickst? Dann geht es natürlich auf jeden Fall. Falls ich dich falsch verstanden habe und du wie jeder geistig Gesunde diesen Fall nach Möglichkeit 100%ig ausschließen möchtest, dann sieht das etwas anders aus. Im Wesentlichen kommt es dann darauf an, ob neben Bootloader und Anwendung noch genug freier Speicher (egal ob Flash, EEPROM oder RAM) verfügbar ist, um das gesamte Image eines neuen Bootloaders aufnehmen zu können. Dazu gehört aber natürlich alles, was der Bootloader braucht, um funktionieren zu können, also im konkreten Fall insbesondere auch der "Treiber" für den RFM. Aber selbst, wenn das nicht der Fall ist, kann man noch tricksen. Wenn man nämlich in Kauf nimmt, daß ein neues Bootloader-Image notfalls auch die Anwendung überschreiben darf. Der Nachteil ist dann halt nur, daß nach einem Update des Bootloaders zwingend auch ein Update der eigentlichen Anwendung erforderlich wird. Wenn sowohl Anwendung als auch Bootloader den RFM benutzen sollen, wird das i.d.R. aber sowieso sinnvoll sein. Aber Mega328, da befürchte ich mal Arduino. Und dann würde ich einfach mal sagen: Nö, das geht garnicht. Jedenfalls nicht im Szenario mit Arduino-Systemsoftware und typischem Arduino-Benutzer. Dann ist es völlig hoffnungslos.
Also ich würde dem µC ein serielle EEPROM zur Seite stellen. Dann kann er erstmal ganz in Ruhe seine neue Software über den RFM23BP empfangen und im EEPROM ablegen. Wenn das angekommen und verifiziert ist, kann er seinen Bootloader anschmeißen und aus dem EEPROM sein neues Programm laden.
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.