PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wireless firmware update ?



engineer
18.02.2005, 02:29
Einige Boards (bezieht sich nicht nur auf RN) benutzen ja JTAG / ISP über eine serielle Schnittstelle, also z.B. über einen boot loader. Hat schonmal jemand probiert, diese serielle Verbindung zu virtaalisieren und über wireless zu betreiben? Im Prinzip müsste es doch möglich sein, überRN-Funkmodule oder ähnliche Systeme auch eine Firmware in einen Controller zu jagen.

Wäre es, in einem zweiten Schritt möglich, in einen AVR eine Ladesosftware zu integrierem, die einen zweiten AVR updaten kann? - bei entsprechendem RAM auf dem Board? Die Idee ist nämlich, auch das Funkmodul, welches ja acch einen Controller besitzt, über Funk zu flashen. (Indirekt über den Hauptcontroller).

Frank
18.02.2005, 09:53
Soviel Aufwand ist garnicht nötig. Dazu gibt es ja die sogenannten Bootloader. Kleine Programme die in einen reservierten Speicherbereich des AVR´s gelegt werden.
Bei einem Reset werden diese Programme ausgeführt und überwachen die RS232. Kommen dort bestimmte Bytesequenzen an, dann wird automatisch der gleiche Controller damit umprogrammiert. Danach startet der Bootloader das Hauptprogramm wie gewohnt.
Das ganze sollte auch über Funk funktionieren.

Schau dir mal diesen Beitrag an:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=3182&highlight=bootloader

Dort gab es mit dem Addlink ein Problem. Mir rn-Funk hat´s glaub noch keiner ausprobiert. Sollte es nicht gehen, dann kann es daran liegen das die Daten einfach zu schnell übertragen werden und dadurch der Buffer im Funkmodul überläuft. Man müsste dann einen eigenen Bootloader entwickeln, dann gehts in jedem Fall.
Wenn man sich etwas näher damit beschäftigt, sollte eine Bootloader Routine nicht allzu schwer sein.

Der Asuro nutzt auch einen Bootloader, dadurch ist er per Infrarot programmierbar. Das muss ein sehr einfacher Bootloader sein, den er kann keine Rückmeldung geben und der Mega8 hat auch nicht sonderlich viel Platz. Das ist übrigens auch ein Grund warum der Asuro nachher etwas wenig Speiche rfür das Anwenderprogramm hat, der Bootloader nimmt ja schon einen Teil weg.
Ideal ist ein Bootloader ab Mega32 (z.b. RN-Control), da hat man doch noch genügend Resourcen frei.

Gruß Frank

engineer
18.02.2005, 11:59
Stimmt, über bootloader geht es auch in einem Proz direkt, allerdings hat man in Sicherheitssystemen meinst zwei stecken, die sich gegenseitig überwachen und loggen. Da muss einer immer laufen- daher geht das nur schrittweise.

Ich wollte auch nur mal reinhören, ob das schonmal probiert wurde. Der nächste Schritt wäre dann die Programmierung über WAN / WLAN - also jenseits der Grenze eines lokalen Funknetzes.

Denken wir an ein Szenario eines im Irak eingesetzen AVR-Kampfroboters (bitte keine Kritik, IHR habt mich durch den anderen thread erst auf die Idee gebaracht :-d)- so könnte der per Firmwareaupdate von Flugabwehr auf Sprengstoffsuche umprogrammiert werden: Ein so genanntes "In-Country-Programming" :D