Forum: Mikrocontroller und Digitale Elektronik rfm23bp atmega328


von Heinrich Frühauf (Gast)


Lesenswert?

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.

von Chris L. (kingkernel)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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.

von Werner (Gast)


Lesenswert?

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.

von Timmo H. (masterfx)


Lesenswert?

Genau, so wie Mike es auch hier beschreibt: 
http://www.youtube.com/watch?v=jbLy6kE-Szg

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
Noch kein Account? Hier anmelden.