ATmega328 stand alone Gedanksekunde nach Reset eliminieren

Gast #6426712
Lesenswert?

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)?
Gast #6426748
Lesenswert?

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).
Gast #6426758
Lesenswert?

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.
Gast #6426771
Lesenswert?

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?
Gast #6426778
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren