mein erster Beitrag. Ich habe lange gesucht und nichts gefunden was mir weiterhelfen könnte.
Ich habe mit einem Kumpel einen Nano programmiert. Das Programm läuft. Leider braucht der Nano knappe 2sec zum Booten.
Jetzt bin ich auf die Idee gekommen, einen neuen Bootloader (Optiboot) aufzuspielen, um die Bootzeit wenigstens auf 0,5sec zu bringen.
Einen Arduino Uno habe ich über File -> Examples -> ArduinoISP pprogrammiert.
Der Bootloader mit einem Nano funktioniert. Nur weiß ich nicht, welchen Bootloader ich gebrannt habe und die Bootzeit dauert unverändert ca. 2sec.
Dann unter Tools -> Board Manager -> habe ich nach Opti gesucht und gefunden und Optiboot 8.0 installiert
Dann unter Tools -> Boards -> Arduino Nano Board ausgewählt (wenn ich unter Boards -> Optiboot -> 28 pin cpus ausgewähle, geht es nicht)
Tools -> Programmer -> Arduino as ISP
Dann Tools -> Burn Bootloader
Meine Frage: wie verkürze ich die Bootzeit des Nano und bekomme ich das mit Optiboot hin? Und wenn Optiboot die Lösung ist..........wie bewerkstellige ich dies.
Eine Möglichkeit für schnelleres Starten wäre, Wenn Du Deinen Sketch , also Dein Programm, das auf den Nano soll, mittels deines Uno as ISP mit der Option : Hochladen mit Programmer auf den Nano lädst. Dies enfernt zugleich auch den Bootloader und der Nano startet prakisch ohne Verzögerung. Nur kannst Du den Nano danach nur noch über ISP flashen, solange Du nicht den Bootloader neu brennst.
Danke für Eure Antworten. @combie: Leider habe ich keine Ahnung, was Du mir sagen möchtest. @Deltaflyer: Das habe ich gerade ausprobiert und die Verzögerung ist immer noch da, aber der Nano startet etwas rascher. Jedenfalls rascher als zuvor. Jetzt 1,5sec geschätzt. Jetzt kann es nur noch am Sketch liegen, warum die Verzögerung eintritt?
Verstanden combie. Danke. Wie transferriere ich den UNO Bootloader auf den Nano? Danach wird der Nano an das USB Kabel angeschlossen und ich spreche den Nano als UNO an und lade das Programm. Richtig?
Höchstwahrscheinlich. mit absoluter Bestimmtheit kann ich das aber nicht sagen, ohne Deinen Sketch zu sehen. Jedenfalls starten diejenigen controller, die ich bisher ohne Bootloader nutze , sofort und ohne Verzögerung. Als Controller habe ich da sowohl ATMegas (328, 644, 1284, 2560), als auch diverse ATTinys ohne Bootloader benutzt.
Beim Nano werden erstmal 2kByte Code ausgeführt, wenn man den Bootloader nach deiner Anleitung "entfernt", ohne die Fuses zu ändern.
Ja, das sind nur 1000 NOP, verplempert aber auch eben die 2K Flash
Auch den Oszillatorstart kann man noch um ein paar Takte erleichtern.
Ja, Recht Du hast, habe ich nicht mehr bedacht, da ich immer die 'nackten' Controller direkt verbaut hatte, die erst gar keinen Bootloader drauf hatten, also direkt mit nem Sketch beschrieben wurden, nachdem die Fuses gesetzt wurden, für Verwendung ohne Bootloader.
Hast Du am UNO den Du als ISP-Programmer nutzt, den 10 mF kondensator, nachdem Du das Program 'Arduino as ISP' auf den Uno geladen hast, zwischen RESET und GND angeschlossen? wenn nicht, hast Du nämlich das ISP Programm auf dem UNO wieder überschrieben, respektive gelöscht, und darum findet die IDE den Programmer nicht mehr. Dann einfach das ISP-Programm nochmals auf den UNO flashen (ganz normal über USB), dann zwischen RESET und GND einen 10 Mikrofarad Kondensator ('+' Anschluss des Kondensators an RESET, '-' des Kondensators an GND) anstecken , danach sollte die IDE den Arduino UNO wieder als Programmer erkennen.
Ich habe den Elko auf die Steckverbindungen vom UNO zu dem Nano aufgelötet. Die Boards habe ich nicht verändert.
Danke für den Link mit den Einstellungen der Fuses.
Ich gebe mir ja Mühe, aber ich denke, ich nutze all Eure Infos und mache mit meinem Kumpel gemeinsam weiter. Auf alle Fälle berichte ich wie es weitergeht. Kann ein paar Tage dauern.
Hä? Der Kondensator darf NUR mit dem Reset vom UNO , keinesfals mit dem Reset vom NANO verbunden sein. Der Reset vom Nano darf auch nicht auf den Reset vom UNO geschaltet sein, sondern gehört auf Pin10 vom UNO. Lediglich der '-' Anschluss des Kondensators darf mit GND von UNO und GND von Nano verbunden sein.
Hier habe ich Abbildung 4 (Programmer und Target verbinden mit Kondensator) gewählt.
Dort ist der Elko tatsächlich mit dem Reset Pin des Nanos verbunden.
Bei weiterer Suche habe ich auch eine Version gefunden, bei der der Elko nur auf dem UNO Board am Reset Pin und GND sitzt.
Was ist jetzt korrekt?