Hallo Forum! Da ich die billigen Nano Clone immer stoßweise kaufe (um immer auch mal wieder einige zu verschenken), wollte ich dort die noch eben mit dem Bootloader versehen. Schon vorher hatte ich mit allen alten Boards Probleme (den eigentlichen Fehler erspare ich euch) und musste da schon feststellen, dass man bei den Nano "old Bootloader" auswählen muss. Was aber hier https://www.arduino.cc/en/Guide/ArduinoNano beschrieben steht. Nun wollte ich doch den neuen Bootloader (Optiboot, im Arduino Programmverzeichnis) ausprobieren, weil der mit 115 000 Baud arbeitet. Beim Flashen übers Atmel Studio noch eine neue Entdeckung. Bei allen neuen Boards muss ich den Resttaster gedrückt halten, sonst wird die Design Signature nicht gelesen und kann auch nicht programmiert werden. Also auch während des Programmierens den Taster gedrückt halten. Vielleicht hilft das dem einen oder anderen weiter. Liebe Grüße Frank
Hallo, meine Billig-Nanos hatten bisher immer funktionierende Bootloader und ich hatte keinen wirklichen Grund, da was zu ändern. Ich habe zwar nicht von allen Nano-Varianten Schaltpläne, normalerweise sollte ein Programmer den Reset sicher auf Low halten sollen. Bei einer Serie Nanos ist bei mir allerdings der 10k PullUp am Reset mit 1k bestückt, vielleicht schafft das Dein Programmer nicht zuverlässig auf Low zu ziehen? Gruß aus berlin Michael
Vor kurzem wurde die Nano Bootloaderkonfiguration geändert. Incl. Fuses ?Zum Jahreswechsel? Die neueren Nanos haben den Optiboot des Uno. 1. Wegen der WDT Abhandlung 2. Höherer UploadSpeed 3. Kleinerer Bootloader F. F. schrieb: > Bei allen > neuen Boards muss ich den Resttaster gedrückt halten, Die Hardwarekonfiguration hat sich nicht geändert. Das kann ich mir also nicht erklären.....
Arduino F. schrieb: > F. F. schrieb: >> Bei allen >> neuen Boards muss ich den Resttaster gedrückt halten, > Die Hardwarekonfiguration hat sich nicht geändert. > Das kann ich mir also nicht erklären..... Ich klemme gleich noch einmal den ICE an. Laptop ist leer. Kann sein, dass es am Programmer liegt. Musste etwas an dem basteln.
Hallo, Arduino F. schrieb: > Die Hardwarekonfiguration hat sich nicht geändert. > Das kann ich mir also nicht erklären..... mir ist das mit dem 1k PullUp nur aufgefallen, als ich bei einem meiner Nanos geschaut habe, wie man notfalls den 100n vom DTR getrennt bekommt. Gruß aus Berlin Michael
F. F. schrieb: > (Optiboot, im Arduino > Programmverzeichnis) ausprobieren, weil der mit 115 000 Baud arbeitet. Das ist ziemlich unwichtig, ob das Laden nun etwas länger dauert. Interessant ist, dass der Optiboot kleiner ist und ca. 1500 Byte mehr Programmspeicher erlaubt. > https://www.arduino.cc/en/Guide/ArduinoNano Danke für den Hinweis, dass der nun also "offiziell" auf den Nano gehört. Michael U. schrieb: > meine Billig-Nanos hatten bisher immer funktionierende Bootloader Ich hatte mal zwei, wo er fehlte. Nach etwas Zickerei hat der Chinese 4 USD wieder herausgerückt - wenn ich A* kaufe, erwarte ich, dass der einsatzfähig ist. > ich hatte keinen wirklichen Grund, da was zu ändern. Ich habe neulich getestet, in meiner Anwendung geht mir der Programmspeicher aus. > Ich habe zwar nicht von allen Nano-Varianten Schaltpläne, normalerweise > sollte ein Programmer den Reset sicher auf Low halten sollen. Bei einer > Serie Nanos ist bei mir allerdings der 10k PullUp am Reset mit 1k > bestückt, Nach den Stromläufen von Gravitech und Arduino gehören da 1k drauf, 10k sehe ich auf einem China-Schaltbild. > vielleicht schafft das Dein Programmer nicht zuverlässig auf > Low zu ziehen? Ich habe mir 2015 über Ali einen TinyUSB-Nachbau gekauft, war mit 4,55€ relativ teuer - spielt direkt aus der A*-IDE heraus.
Hallo, Manfred schrieb: > Nach den Stromläufen von Gravitech und Arduino gehören da 1k drauf, 10k > sehe ich auf einem China-Schaltbild. ok, dann hatte ich wohl eben dieses Schaltbild erwischt... Gruß aus Berlin Michael
Jau! Dann habe ich bei dem eHajo wohl doch die Leiterbahn mit dem Skalpell erwischt. Habe das gerade noch mal mit nem orginalen MK II gemacht. Lag am Programmer.
Morgen bekomme ich zwei neue von Hannes. Irgendwie war die Software von dem einen weg und ich musste den neu flashen. Dazu den Reset auf der Platine brücken. Hinterher war das Lot wohl nicht ganz weg und ich Dösel schneide in Richtung der Leiterbahn den Spalt frei. Nochmal mache ich den nicht auseinander. Ganz schöne Sauerei.
F. F. schrieb: > Arduino F. schrieb: >> 1. Wegen der WDT Abhandlung > > Kannst du da mal was zu sagen oder linken! Wenn man den WDT im Programm (oder per Fuse) aktiviert, wird er nicht durch den Reset abgeschaltet. Aber dessen Teiler wird durch den Reset auf den kleinsten Wert gesetzt. Wenn der Bootloader das nicht behandelt, bleibt der AVR in einem "Dauer WDT Reset Loop" kleben, und ein Anwendungsstart, oder Upload ist unmöglich.
Manfred schrieb: > Ich hatte mal zwei, wo er fehlte. Je billiger, desto weniger Bootloader. Ich hatte schon sehr viele ohne Bootloader. Haben dann auch ca. 2 Euro gekostet. Mit Versand natürlich.
Manfred schrieb: > Das ist ziemlich unwichtig, ob das Laden nun etwas länger dauert. > Interessant ist, dass der Optiboot kleiner ist und ca. 1500 Byte mehr > Programmspeicher erlaubt. Soll aber der gleiche Speicherplatz belegt werden. Sicher lässt sich das ändern, aber nicht automatisch kleiner. Siehe auch hier: https://www.heise.de/make/artikel/Arduino-Nano-mit-neuem-Bootloader-4011641.html
Dazu muss ich sagen, dass ich vom Boardverwalter, der IDE, gebeten wurde das Update zu machen. Ein vollautomatisches Update gibts sowieso nicht. Es geht immer über den Boardverwalter. Man muss aktiv den "Update" Knopf drücken, dazu gibt es keine echte Alternative.
F. F. schrieb: > Soll aber der gleiche Speicherplatz belegt werden. Sicher lässt sich das > ändern, aber nicht automatisch kleiner. > Siehe auch hier: > https://www.heise.de/make/artikel/Arduino-Nano-mit-neuem-Bootloader-4011641.html Das ist nun aber konträr zu anderen Funden, z.B. auf Github https://github.com/Optiboot/optiboot "Allows larger sketches. Optiboot is a quarter of the size of the default bootloader, freeing 1.5k of extra space!" Quer durch's Internet findet man diverse Beschreibungen, wie man Optiboot lädt und in der A*-IDE die Boards.txt anpasst. Wie kann man zuverlässig testen, ob ein großs Programm wirklich stabil funktioniert?
Manfred schrieb: > Quer durch's Internet findet man diverse Beschreibungen, wie man > Optiboot lädt und in der A*-IDE die Boards.txt anpasst. Vieles, was man im Internet sieht, ist einfach nur irre! 1. ISP an den betreffenden Arduino stecken 2. Arduino IDE öffnen 3. gewünschtes Board wählen 4. Bootloaderbrennen drücken. Die richtigen Fuses werden gleich mit geschrieben. Der UNO Bootloader konnte so schon immer auf den Nano gepflanzt werden. Ab dann verhält er sich wie ein UNO. Manfred schrieb: > Wie kann man > zuverlässig testen, ob ein großs Programm wirklich stabil > funktioniert? Was meinst du mit "stabil"? Wegen dem Flash Verbrauch? An dem Punkt gibt es keine "stabil" Diskussion. Zumindest die Arduino IDE schreit auf, wenn das Programm zu groß ist. Die anderen IDEs sollten das auch können.
Wenn wir hier schon beim Thema sind. Kein Programmer wird unter der Arduino IDE und Windows 10 erkannt. Arduino findet weder einen MK II Clone (eHajo), noch den originalen und auch nicht den AVR ICE. Sie funktionieren alle aber gut übers Atmel Studio. Hier noch die Fehlermeldung: avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\Users\Foldi\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6 .3.0-arduino9/etc/avrdude.conf" Using Port : usb Using Programmer : atmelice_isp avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2141 avrdude done. Thank you. Wenn jemand was weiß, immer her damit!
Arduino F. schrieb: > Vieles, was man im Internet sieht, ist einfach nur irre! > 1. ISP an den betreffenden Arduino stecken > 2. Arduino IDE öffnen ... Ich kann das, schon seit längerem :-) > Der UNO Bootloader konnte so schon immer auf den Nano gepflanzt werden. > Ab dann verhält er sich wie ein UNO. Ich sehe da, außer in der mechanischen Bauform, keinen Unterschied. Beide haben einen AT328 und beide kommen mit CH340 aus China. > Zumindest die Arduino IDE schreit auf, wenn das Programm zu groß ist. Aber, die IDE nimmt die Angabe aus \hardware\arduino\avr\boards.txt, z.B. "uno.upload.maximum_size=32256" oder "nano.menu.cpu.atmega328.upload.maximum_size=30720" Vor wenigen Wochen habe ich mal einen aktuellen Optiboot von Github geholt, auf den Nano gespielt und mir einen Eintrag "Nano Optiboot mit upload.maximum_size=32256" fuer die IDE erzeugt. Bleibt nur offem, ob 32000 Bytes wirklich funktionieren, ladbar sind die.
F. F. schrieb: > Kein Programmer wird unter der Arduino IDE und Windows 10 erkannt. > Arduino findet weder einen MK II Clone (eHajo), noch den originalen und > auch nicht den AVR ICE. Ich verwende hier den Atmel ICE. Der funktioniert mit der Arduino IDE und Win 10 problemlos. Ebenso alle anderen ISP Programmer, welche bei mir in der Schublade liegen. Einen MK II habe ich leider nicht zum testen da, weiß aber, dass dieser auch funktioniert. KA, was du falsch machst, aber du machst was falsch. ------ Manfred schrieb: > Ich sehe da, außer in der mechanischen Bauform, keinen Unterschied. > Beide haben einen AT328 und beide kommen mit CH340 aus China. Richtig! Darum funktioniert das ja auch problemfrei. Es muss nur die gewünschte Boardkonfiguration ausgewählt werden. Manfred schrieb: >> Zumindest die Arduino IDE schreit auf, wenn das Programm zu groß ist. > > Aber, die IDE nimmt die Angabe aus \hardware\arduino\avr\boards.txt, > z.B. Wofür ist dein "aber" ? In der boards.txt befindet sich die Bootloader Konfiguration! Auch mit den (hoffentlich) korrekten Speicherangaben. Ohne wenn und aber. Manfred schrieb: > Vor wenigen Wochen habe ich mal einen aktuellen Optiboot von Github > geholt, auf den Nano gespielt und mir einen Eintrag "Nano Optiboot mit > upload.maximum_size=32256" fuer die IDE erzeugt. Bleibt nur offem, ob > 32000 Bytes wirklich funktionieren, ladbar sind die. Wenn du das richtig gemacht hast, dann funktioniert das auch. Warum plagen dich da Ängste? Welche Probleme hättest du denn da gerne?
F. F. schrieb: > avrdude: jtag3_open_common(): Did not find any device matching VID > 0x03eb and PID list: 0x2141 Avrdude kann den Atmel ICE offensichtlich nur anfassen, wenn der libusb-win32 Treiber für das CMSIS-DAP Gerät installiert wurde. Das kollidiert (scheinbar) mit den Treibern, welche beim Atmelstudio mitgeliefert werden. (Atmelstudio habe ich nicht installiert) z.B. Zadig hilft beim Treiberwechsel.
Manfred schrieb: > Bleibt nur offem, ob > 32000 Bytes wirklich funktionieren, ladbar sind die. Ja. Wurde im Studio so angezeigt.
> Kein Programmer wird unter der Arduino IDE und Windows 10 erkannt.
Erwartest du, dass die Arduino IDE einen COM-Port im Menü anzeigt?
Das wäre die falsche Erwartungshaltung, denn die oben genannten
Programmieradapter emulieren keinen COM Port (es gibt allerdings welche,
die das tun).
Stefanus F. schrieb: > Erwartest du, dass die Arduino IDE einen COM-Port im Menü anzeigt? Natürlich nicht, habe ich doch auch gar nicht gesagt. Aber egal was ich dran klemme, ich kann mit keinem Programmer mehr "Sketch hochladen mit Programmer" ausführen.
F. F. schrieb: > Ja. > Wurde im Studio so angezeigt. War nicht im Studio, sondern Arduino IDE. >Der Sketch verwendet 926 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
> Avrdude kann den (Programmieradapter) offensichtlich nur anfassen, wenn der > libusb-win32 Treiber ... installiert wurde. Hast du das gemacht? Wird der Treiber im Gerätemenager ohne Fehlermeldung angezeigt (gelbes Ausrufzeichen)? Falls nicht, folge dieser Anleitung: http://stefanfrings.de/avr_tools/libusb.html > Das kollidiert (scheinbar) mit den Treibern, welche beim Atmelstudio > mitgeliefert werden. Nein.
Stefanus F. schrieb: > Nein. Schreibst du doch in deinem eigen Beitrag! > Das AVR/Atmel Studio hingegen benutzt den Jungo > Treiber, um den es hier nicht geht. Stefanus F. schrieb: > Hast du das gemacht? Natürlich! Stefanus F. schrieb: > Wird der Treiber im Gerätemenager ohne > Fehlermeldung angezeigt (gelbes Ausrufzeichen)? Bei mir: Keine Ausrufezeichen gesehen. Ich habe gerade auf 2 Rechnern getestet! (beide habe ich nicht selber eingerichtet) Einen mit Atmelstudio und einen ohne. Auf dem ohne, konnte AVRdude sofort mit den Atmel Ice quatschen. Auf den mit Atmelstudio, hat es erst die Zusammenarbeit verweigert, aber nach der Zadig Operation funktionierte es.
Stefanus F. schrieb: > Hast du das gemacht? Jetzt ja! Stefan, du bist ne "geile Sau"! Vielen Dank! Hatte immer ein bisschen Angst das auszuprobieren, weil danach (früher) die Atmel Treiber nicht mehr funktionierten. Passt alles. Studio und Arduino funktioniert. Nochmal danke!
Arduino F. schrieb: > Wenn du das richtig gemacht hast, dann funktioniert das auch. > Warum plagen dich da Ängste? Hier baut sich ein Widerspruch auf: https://www.heise.de/make/artikel/Arduino-Nano-mit-neuem-Bootloader-4011641.html interpretiere ich so, dass trotz neuem Optiboot nicht mehr Programmspeicher als vorher verfügbar ist, also 30720 Byte. Andere Fundstellen sagen aus, dass der Optiboot 1,5k kleiner ist und damit 32256 Bytes für das Programm zur Verfügiung stehen. Meine Bedenken, von mir aus nenne sie auch Ängste, wollen wissen, was denn nun tatsächlich richtig ist! F. F. schrieb: > War nicht im Studio, sondern Arduino IDE. >>Der Sketch verwendet 926 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes. Und da sollte bei Optiboot eben "Maximum sind 32256" stehen dürfen.
Meine Arduino IDE zeigt bei beiden Nanos, sowohl dem alten, als auch dem neuen: > Das Maximum sind 30720 Bytes. Das ist offensichtlich falsch. Beim UNO zeigt es: > Das Maximum sind 32256 Bytes Das ist richtig, und sollte auch beim neuen Nano so sein Da haben die Jungs/Mädels offenbar Mist gebaut: >>> Hi ..... , you are right, but the boards in production have been flashed with the old fuse setting, making the bootloader partition larger than needed (see arduino/Arduino@1cf34c8#commitcomment-27651798). So we can't change the maximum sketch size parameter without affecting the functionality on these boards, sorry. >>> Es macht also Sinn den UNO Bootloader incl. Fuses da drauf zu brennen, und dann auch als UNO zu nutzen. Dann stimmen auch deine Zahlen.
Arduino F. schrieb: > Ich werde meine möglichstes geben, dass das beim nächsten Update > korrigiert wird. Das kann man bis es so weit ist selber machen: In C:\Program Files (x86)\Arduino_V182\hardware\arduino\avr im boards.txt einfach die Zeile anpassen: ... nano.menu.cpu.atmega328.upload.maximum_size=30720 ... nano.menu.cpu.atmega328.upload.maximum_size=32256 Wenn Du das ändert, stimmt wieder alles. Allerdings musst Du Dir eine Kopie sichern weil bei jedem Update der Arduino Version diese Dateien mit erneuert werden. Ich habe das beim ATMEGA1284 so gemacht und konnte dann den ganzen FLASH Bereich mit AVRdude abstrecken.
:
Bearbeitet durch User
Gerhard O. schrieb: > Das kann man bis es so weit ist selber machen: Sorry, ich habe meinen vorherigen Beitrag korrigiert. Wenn man das wie du händisch macht, wird es versagen. Die Fuses müssen auch geändert werden.
Hallo, Gerhard O. schrieb: > Wenn Du das ändert, stimmt wieder alles. Allerdings musst Du Dir eine > Kopie sichern weil bei jedem Update der Arduino Version diese Dateien > mit erneuert werden. ddann mußt Du aber auch die Fusebits korrigieren, sonst kann Dir das Programm durchaus den Bootloader zerlegen. Müßte ich jetzt das Mega328 Datenblatt genauer fragen. Gruß aus Berlin Michael
Wenn es sooo knapp wird, dann ohne Bootlader. Ist das nicht sinnvoller?
Dafür bietet sich doch das Übertragen mit Programmer an.
F. F. schrieb: > Wenn es sooo knapp wird, dann ohne Bootlader. > Ist das nicht sinnvoller? Ich habe eine Hardware komplett, mit Gehäuse drum und allen wesentlichen Funktionen laufen. Nach diversen Optimierungen bin ich derzeit bei 30.400 Bytes, "alter" Bootloader drauf. Es ist sehr komfortabel, Änderungen per USB einzuspielen und direklt zu testen, von daher möchte ich ungerne auf ISP. Wenn ganz fertig, wird in der Rückwand eine USB-Buchse sein, für elektrische Kalibrierung und evtl. Debugausgaben per Serial.Print (die eine Menge Platz fressen).
Arduino F. schrieb: > Wenn man das wie du händisch macht, wird es versagen. > Die Fuses müssen auch geändert werden. Hi, das hatte ich vorausgesetzt. Bei mir machte ich das nur für den ATMEGA1284P und ich konnte die ganzen 128KB - BL FLASHEN. Und so genau weiß ich die Details vom Kopf her auch nimmer. Ist schon drei Jahre her. Gerhard
Arduino F. schrieb: > Wenn man das wie du händisch macht, wird es versagen. > Die Fuses müssen auch geändert werden. Siehe mein Posting Beitrag "Re: Arduino nano Bootloader Erfahrungsbericht" - der behauptet, es zu können "Allows larger sketches. Optiboot is a quarter of the size of the default bootloader, freeing 1.5k of extra space!" Ist das der gleiche, den Ihr habt?
Manfred schrieb: > Ich habe eine Hardware komplett, mit Gehäuse drum und allen wesentlichen > Funktionen laufen. Nach diversen Optimierungen bin ich derzeit bei > 30.400 Bytes, "alter" Bootloader drauf. Ok, das ist ein Grund.
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.