Pro Mini ohne Bootloader flashen

Hallo, ich versuche seit einiger Zeit auf meine Pro Mini nur den Sketch ohne Bootloader zu flashen, da ich sofort ausführende Arduinos brauche, nach dem sie Strom bekommen.

Die Pro Minis des Typs ATmega 168 5V 16Mhz haben alle derzeit ihre Standart Bootloader drauf.
Ich nutze die Arduino IDE 1.8.14.

Ich nehme also einen UNO R3, wähle UNO aus, und lade den Sketch 11.Arduino ISP - Arduino ISP drauf. Modus AVRISP mkII.
ok.

Dann Anschluss wie folgt:

UNO - Pro MINI
11 - 11
12 - 12
13 - 13
Reset - Reset (EDIT: Fehlerlösung: Reset an PIN 10 verbunden)
5V - VCC
GND - GND

Ich lade den Beispiel Sketch Blink, wähle den Programmer Arduino as ISP und setze die Config auf Pro MINI 168 5V 16Mhz. Dann gehe ich in der Menüleiste auf -Sketch- und dann auf -Hochladen mit Programmer-.
Die Rx LED am UNO leuchtet.
Fehler: avrdude: Yikesl Invalid device aignature.
Double check Connections and try again, or use -F to override thia check.

Ist das bis dahin denn richtig?
Was ist mit den Fuses?
Es gibt Anleitungen, da verbindet man Reset mit Pin10.

Wo liegt der Fehler?
Ich habe 3 Tage mit Versuchen hinter mir, alles mögliche in Google eingetippt...

Deine Verkabelung ist falsch.
Schau dir das auf diesen Seiten mal an.

Und den Elko nicht vergessen.

Und die Fuses werden beim Bootloader flashen mit gesetzt.

Vielen Dank.

10uF Kondensator steckt nun am Programmer zwischen GND und Reset.
Reset am Pro Mini geht nun auf Pin10 am Programmer.

Fehlermeldung nun:
avrdude: Expected signature for ATmega168 is 1E 94 06
Double check chip, or use -F to override this check.
Falscher Mikrocontroller gefunden. Ist das richtige Board im Menü Werkzeuge > Board ausgewählt?

Es muss doch der Target eingestellt werden. Ist es. Ganz sicher sind es Pro Minis des Typs ATmega 168 5V 16Mhz.
Aber selbst andere Typen eingestellt, sind immer noch falsch

Dann mach mal ein Foto vom Aufbau, bei dem alles gut zu erkennen ist.

Reset - Reset

Falsch.

Es gibt Anleitungen, da verbindet man Reset mit Pin10.

Richtig!

Was ist mit den Fuses?

Ändern!
Die Bootloader und Lock Fuses wieder auf Auslieferungszustand und den Rest beibehalten.

Tipp:
Die Anpassungen in der boards.local.txt vornehmen.

avrdude: Expected signature for ATmega168 is 1E 94 06
Double check chip, or use -F to override this check.
Falscher Mikrocontroller gefunden. Ist das richtige Board im Menü Werkzeuge > Board ausgewählt?

Es muss doch der Target eingestellt werden. Ist es. Ganz sicher sind es Pro Minis des Typs ATmega 168 5V 16Mhz.
Aber selbst andere Typen eingestellt, sind immer noch falsch

ATmegas im DIP bzw SMD Gehäuse haben verschiedene Signatur-Nummern.
Hast Du das bedacht?
Grüße Uwe

An den Fuses oder an den Dateien habe ich bisher rein gar nichts gerändert. Komplett Stock.
Daher verstehe ich nicht, was du (combie) meinst.

Mein Aufbau:

Den Verlauf der Kabel kann ich leider nicht erkennen.

Aber er stimmt leider dennoch.
Ich mein, es wird ja scheinbar auch ein Mikrocontroller detektiert.

Pro Mini - UNO
VCC - 5V
GND - GND
RST - Pin10
11 - 11
12 - 12
13 - 13

und 10uF am UNO von RST auf GND

Und der board.txt part:

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168

-------------------------------------------------

pro.menu.cpu.16MHzatmega168=ATmega168 (5V, 16 MHz)

pro.menu.cpu.16MHzatmega168.upload.maximum_size=14336
pro.menu.cpu.16MHzatmega168.upload.maximum_data_size=1024
pro.menu.cpu.16MHzatmega168.upload.speed=19200

pro.menu.cpu.16MHzatmega168.bootloader.low_fuses=0xff
pro.menu.cpu.16MHzatmega168.bootloader.high_fuses=0xdd
pro.menu.cpu.16MHzatmega168.bootloader.extended_fuses=0xF8
pro.menu.cpu.16MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

pro.menu.cpu.16MHzatmega168.build.mcu=atmega168
pro.menu.cpu.16MHzatmega168.build.f_cpu=16000000L

So sollte das eigentlich passen.

Gibt es noch andere Wege, als dieser mittels ISP den Sketch ohne Bootloader zu flashen, wenn bereits ein Bootloader drauf ist, und dieser also geleert werden soll?

Und wo kann ich die Befehlserweiterung -F angeben, um den Check zu überspringen?

arduino_009:
Gibt es noch andere Wege, als dieser mittels ISP den Sketch ohne Bootloader zu flashen, wenn bereits ein Bootloader drauf ist, und dieser also geleert werden soll?

Und wo kann ich die Befehlserweiterung -F angeben, um den Check zu überspringen?

Nein
Wozu?

Das funktioniert, sonst wäre die Anleitung falsch:

Gibt es noch andere Wege, als dieser mittels ISP den Sketch ohne Bootloader zu flashen, wenn bereits ein Bootloader drauf ist, und dieser also geleert werden soll?

Ja, per HVPP
Das funktioniert auch noch, wenn du die Fuses dumm gesetzt hast, und so jegliche andere Programmiermöglichkeit verdorben ist.

Und wo kann ich die Befehlserweiterung -F angeben, um den Check zu überspringen?

Das tust du nicht.
Das wäre eine sehr dumme Möglichkeit.
Einzig, wenn die Signatur im Chip kaputt ist, dann.
Ist sie aber nicht.

An den Fuses oder an den Dateien habe ich bisher rein gar nichts gerändert. Komplett Stock.
Daher verstehe ich nicht, was du (combie) meinst.

Die Fuses und ihre Bedeutung findest du im Datenblatt des betreffenden ATMega

Und der board.txt part:

Wie schon gesagt, ich rate dir in einer boards.local.txt einen eigenen Eintrag für dein Board anzulegen. Das kollidiert dann auch nicht mit den originalen Boards.

ATmegas im DIP bzw SMD Gehäuse haben verschiedene Signatur-Nummern.

Das ist mir neu!
Diese Information steht auch nicht im Datenblatt.

Ok ich habe von den Einträgen in der boards-Datei keine Ahnung.
Eine boards.local.txt gibt es bei mir nicht (Windows 10).

Anscheined liegt dir die Lösung meines Problems auf der Zunge.
Was soll in die boards.txt denn rein, damit es läuft?

Eine boards.local.txt gibt es bei mir nicht (Windows 10).

Natürlich nicht!
Sie ist ja auch für individuelle Erweiterungen vorgesehen.
Musst du also selber anlegen.

Anscheined liegt dir die Lösung meines Problems auf der Zunge.

Exakt!
Ich weiß genau was zu tun ist.

Eine eigene boards.local.txt anlegen.
Dort deine Boarddefinition verankern, und dann tuts das auch.

Alternativ:
Du besorgst dir eine schon fertig erstellte Bordefinition, welche deine Zwecke abdeckt.

Halb fertig vorbereitet.
Es müssen noch die Fuses, der Bootloader und die Speichergröße korrigiert werden.

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168 ohne Bootloader
## OB steht für ohne Bootloader
## -------------------------------------------------
pro.menu.cpu.16MHzatmega168OB=ATmega168 (5V, 16 MHz)  ohne Bootloader

pro.menu.cpu.16MHzatmega168OB.upload.maximum_size=14336
pro.menu.cpu.16MHzatmega168OB.upload.maximum_data_size=1024
pro.menu.cpu.16MHzatmega168OB.upload.speed=19200

pro.menu.cpu.16MHzatmega168OB.bootloader.low_fuses=0xff
pro.menu.cpu.16MHzatmega168OB.bootloader.high_fuses=0xdd
pro.menu.cpu.16MHzatmega168OB.bootloader.extended_fuses=0xF8
pro.menu.cpu.16MHzatmega168OB.bootloader.file=

pro.menu.cpu.16MHzatmega168OB.build.mcu=atmega168
pro.menu.cpu.16MHzatmega168OB.build.f_cpu=16000000L

Einen leeren Bootloader findest du hier

Ich frage nicht weil ich faul bin, sondern aus Unwissenheit.
Ich weiß nicht, was an den Standart-Einträgen zu korrigieren ist, damit der Fehler wegen angeblich unpassender Chip Architektur verschwindet.

Standartmäßig steht dort ja dies aus Beitrag 8.
https://forum.arduino.cc/index.php?topic=711600.msg4780990#msg4780990

Ich verstehe, dass ich da zb den Takt ändern kann, aber nicht, wie der bootloader "deaktiviert" werden könnte.
Wäre ja schön, wenn avrdude sagen würde, welche board signature erkannt wird.

...Ich versuche mich nun am Projekt

Ich frage nicht weil ich faul bin, sondern aus Unwissenheit.

Ja?
Die Bedeutung der Fuses steht im Datenblatt (das sagte ich aber schon)
Auch könnte dieses dabei hilfreich sein
Weiterer Lesestoff

Ich weiß nicht, was an den Standart-Einträgen zu korrigieren ist, damit der Fehler wegen angeblich unpassender Chip Architektur verschwindet.

Naja...
Du mischt da 2 Dinge in einen Topf..

Wäre ja schön, wenn avrdude sagen würde, welche board signature erkannt wird.

Macht es doch!

ICH HABE VON FUSES KEINE AHNUNG!!!!!!!
Woher soll ich wissen, dass ich Fuses ändern muss, um den Bootloader nicht mit aufzuspielen?????????

Man sagte mir in Beitrag #1 dass die Fuses ja schon gesetzt sind, da ein Bootloader bereits drauf ist.
Und dann steht überall geschrieben, dass man im Menü auf Hochladen mit Programmer klickt, nichts davon dass man Fuses ändern muss.....

Naja, mit MiniCore klappt es nun.

ICH HABE VON FUSES KEINE AHNUNG!!!!!!!

  1. Schrei mich nicht an.
  2. Wenn das so bleiben soll, .........

Und dann steht überall geschrieben, dass man im Menü auf Hochladen mit Programmer klickt, nichts davon dass man Fuses ändern muss.....

Wenn das "überall" steht, dann hast du meine Beiträge offensichtlich überlesen.
Denn ich sage das nicht.

Tausend Fliegen können nicht irren ....

Ganz im Gegenteil!
Ich behaupte, dass es dumm ist, die Fuses auf "mit Bootloader" stehen zu lassen, wenn man doch einen schnell starteten AVR haben möchte.
Zudem verschenkt man den Speicherraum, wo sonst der Bootloader liegt.

Man sagte mir in Beitrag #1 dass die Fuses ja schon gesetzt sind, da ein Bootloader bereits drauf ist.

Aber die falschen, denn du willst ja keinen Bootloader.

Naja, mit MiniCore klappt es nun.

Geht doch.

arduino_009:
Naja, mit MiniCore klappt es nun.

Dann wäre nach nunmehr 2 Seiten die Zeit gekommen, den ersten Beitrag als gelöst zu kennzeichnen und zumindest hier am Ende zu beschreiben, wie es geht.

Meinst nicht auch?