Archiv

Posts Tagged ‘bootloader’

Bootloader flashen mit Arduino-ISP

Der Flightcontroller meines Quadrocopters legte manchmal ein seltsames Verhalten an den Tag. Nachdem der Akku angeschlossen wurde, startete der Arduino seinen Bootloader und wartete 8 Sekunden ob vielleicht ein USB-Kabel angeschlossen war oder ähnliches. Dadurch bekamen die Regler der Motoren kein passendes Signal und stellten sich ab. Also leuchtete beim Start des Copters nur die LED, die Flugbereitschaft signalisierte, jedoch setzten die Regler dieses Signal nicht um. Kurzfristig kann man dieses Problem umgehen, indem man die Regler nach dem Akku anschließt, was jedoch auch nur manchmal half. Ziemlich nervig.

Aber der Hersteller hat auf dieses Problem reagiert und einen neuen Bootloader programmiert, der den Resetgrund erkennt und die Bootloaderroutine umgeht wenn es sich um einen Reset durch Spannungsabfall handelt. Ich hatte vorher schon einmal einen Blick in den Code des Standardbootloaders geworfen und eigentlich sollte dieser genau das auch machen. Leider liegt der Code des Herstellers nicht vor, sodass ich nicht weiß, was er geändert hat.

Man findet den neuen Bootloader inklusive einer Anleitung unter http://forum.flyduino.net/viewtopic.php?f=8&t=39.

Bei mir sah das dann so aus:

Mit dem ArduinoISP Sketch, kann man also leicht den Bootloader eines anderen Arduino flashen. Praktischerweise kann man mit eimen Arduino und ArduinoISP nicht nur Bootloader flashen, sondern auch normale Mikrocontroller programmieren, dazu mehr im nächsten Artikel

Advertisements