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...
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
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
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.
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
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.
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 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.....
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.
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.