Ich habe einen ATmega328 stand alone mit einem Mini-Sketch auf einer Lochrasterplatine am Laufen. Ich hatte zuvor den Standard-Bootloader und den Sketch mit der aktuellen IDE über einen zweiten Arduino Uno mit "ArduinISP" hochgeladen. Nun vergehen nach einem Hardware-Reset ein paar Sekunden, in denen auf PIN 13 einiges passiert (vermutlich die Suche nach einem neuen Sketch durch den Bootloader). Wenn ich ohne Bootloader die Sketches direkt schreiben würde, würde dann diese "Gedenksekunde" verschwinden? Und muss ich dann irgendetwas anderes beachten (z.B. Fuses)?
es gibt auch Bootlader ohne wartezeit. Ja, ohne BL wird die auch weg sein. Ja, die Fuse für den bl muss umgeschrieben werden.
Ardur schrieb: > Wenn ich ohne Bootloader die Sketches direkt schreiben würde, würde dann > diese "Gedenksekunde" verschwinden? Ja. Dazu brauchst du einen ISP Programmieradapter. Damit wird die IDE auch gleich die Fuses richtig einstellen (glaube ich jedenfalls). Ansonsten ist offensichtlich, welche Fuse zu ändern ist (BOOTRST).
Ich habe von den Fuses ehrlich gesagt überhaupt keine Ahnung. Wie schaffe ich mir das schnell drauf? Und wo bekomme ich andere Bootloader?
Ardur schrieb: > Ich habe von den Fuses ehrlich gesagt überhaupt keine Ahnung. Wie > schaffe ich mir das schnell drauf? Vergiss das mit dem "schnell" besser, denn es gibt da einige Fallstricke. Lies dir besser die Erklärungen im Datenblatt durch. Und zusätzlich dies: http://stefanfrings.de/avr_verfused/index.html , denn es ist nur eine Frage der Zeit, wann dieses Thema akut wird. Für avrdude (das in Arduino enthalten ist) gibt es eine nette GUI namens Arv8-Burn-O-Mat. Und schau Dir diese Webseite an: https://www.engbedded.com/fusecalc/ Das alles kann aber nicht die Lektüre des Datenblattes ersetzen. > Und wo bekomme ich andere Bootloader? Du willst wohl Bootloader verwenden, die zu Arduino kompatibel sind. Diese befinden sich direkt in der IDE. Wobei (ich hoffe das ist noch aktuell) der neue Bootloader vom Arduino Uno kleiner und schneller ist, als der ältere Bootloader vom Arduino Nano. Sie sind aber beide untereinander austauschbar, da die Boards zueinander kompatibel sind.
Man kann den Arduino optiboot Bootoader umkompilieren.. Zum Beispiel mit Pin aktivierbar. Da gab es auch mal in den Sources ein Beispiel. Kommt drauf an wie Zeitkritisch das ist. Dann wartet der wenigstens nicht mehr auf Uart Befehle.
Mein ISP Programmieradapter ist ein Arduino UNO mit "ArduinoISP". Dann kann man in der IDE aber nur "Bootloader brennen" als einzigen Menüpunkt auswählen, eine Auswahl für verschiedene Bootloader gibt es nicht. Und von wo der dann gebrannte Bootloader im Verzeichnisbaum genommen wird, ist mir auch nicht klar. @Stefan ⛄ F. (stefanus) Danke für die wertvollen Links. Ja, schnell geht das nicht, aber jetzt habe ich immerhin schon eine Vorstellung. Ich habe ein 16 MHz-Quartz mit seinen beiden Cs an XTAL1 und 2 fest angelötet. Insofern würde ich nicht durch 8 teilen wollen/müssen? Aber die Fuses kann ich eh in der Arduino IDE nicht einstellen. Wo müsste ich das machen?
Ardur schrieb: > Dann kann man in der IDE aber nur "Bootloader brennen" als einzigen > Menüpunkt auswählen, eine Auswahl für verschiedene Bootloader gibt es > nicht. Die ergibt auch aus dem ausgewählten Board. Falls dein Ziel-Board ein Arduino Nano oder Uno ist, kannst du wahlweise Arduino Nano oder Uno einstellen. Das sind wie gesagt zwei unterschiedliche aber kompatible Bootloader. Alternative (nicht originale) Bootloader findest du natürlich nicht in der IDE sondern via Google. Dann musst du halt den Anleitungen des jeweiligen Autors folgen. Ich würde mir das aber nur antun, wenn ich einen guten Grund dazu habe. Unter Arduino reicht mir die Wahl mit oder ohne Bootloader zu arbeiten.
OK, wenn ich es nun ohne Bootloader versuchen möchte, wähle ich dann einfach nur meinen Sketch aus und alles läuft wie vorher, alle Fuses sind richtig gesetzt, nichts wird versaut?
Ardur schrieb: > Mein ISP Programmieradapter ist ein Arduino UNO mit "ArduinoISP" Dann benötigst Du garkeinen Bootloader, den Bootloader brauch man beim Arduino nur zum hochladen ohne einen ISP Adapter. Dann müsste man den nur löschen und die Boards.txt anpassen.. z.B. ungeprüft so: https://forum.arduino.cc/index.php?topic=657971.0
Ardur schrieb: > OK, wenn ich es nun ohne Bootloader versuchen möchte, wähle ich dann > einfach nur meinen Sketch aus und alles läuft wie vorher, alle Fuses > sind richtig gesetzt, nichts wird versaut? Ja, so kenne ich das jedenfalls.
Philipp K. schrieb: > und die Boards.txt anpassen Das ist nicht einmal nötig. Man kann auch ohne diese Änderung einfach per ISP Programmieradapter hochladen.
OK, funktioniert! Vielen Dank für die Hilfe an Stefan ⛄ F. (stefanus), Philipp K. (philipp_k59) und Flip B. (frickelfreak)!
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.