es ist zum Mäusemelken, neuer Bootloader, schneller mehr Platz aber nur wenn ich "Arduino/Genuino Uno" wähle! "Das Maximum sind 32256 Bytes" Wähle ich den "Arduino Nano" kann ich zwar wählen zwischen "ATmega328P" oder "ATmega328P (Old Bootloader)" aber beide geben mir nur "Das Maximum sind 30720 Bytes" Irgendwo muss eine falsche Definition sein, nur ich finde sie nicht.
Joachim B. schrieb: > es ist zum Mäusemelken, > > neuer Bootloader, schneller mehr Platz aber nur wenn ich > "Arduino/Genuino Uno" wähle! > "Das Maximum sind 32256 Bytes" > > Wähle ich den "Arduino Nano" kann ich zwar wählen zwischen > "ATmega328P" oder "ATmega328P (Old Bootloader)" > aber beide geben mir nur "Das Maximum sind 30720 Bytes" > > Irgendwo muss eine falsche Definition sein, nur ich finde sie nicht. DU machst nichts falsch. Da ist den Arduino Machern ein dummer Fehler unterlaufen. Das "mehr Platz" funktioniert leider nicht. Da sie in der Produktion vergessen haben die Fuses auf den kleineren Bootloader anzupassen. Und jetzt können sie aus Kompatibilitätsgründen nicht mehr runter davon. Meine Alternative: Ich mache meine Nanos zu UNOs. Also, mit UNO Bootloader und spreche sie danach als UNO an. Dann passt das alles.
Arduino Fanboy D. schrieb: > Meine Alternative: > Ich mache meine Nanos zu UNOs. > Also, mit UNO Bootloader und spreche sie danach als UNO an. > Dann passt das alles. den neuen Bootloader Optiboot habe ich ja schon auf alle meine Nanos geflasht, das ist nicht das Problem. Auch als Arduino/Genuino Uno anzusprechen und zu flashen ist nicht mein Problem, das mache ich und klappt, aber es nervt. Man brächte doch nur die Board.txt patchen und die passenden Werte einzutragen, aber ich habe es an beiden Orten versucht, in der local boards.txt und in der unter liberary boards.txt, er macht es nicht, das muss irgendwo versteckt sein, vermutlich im Boardverwalter, aber wo steckt der?
gefunden %AppData%\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\boards.tx t nun wird der gepatched und getestet.
Joachim B. schrieb: > Man brächte doch nur die Board.txt patchen und die passenden Werte > einzutragen, aber ich habe es an beiden Orten versucht, in der local > boards.txt und in der unter liberary boards.txt, er macht es nicht, das > muss irgendwo versteckt sein, vermutlich im Boardverwalter, aber wo > steckt der? Tu das nicht.... Mache sie zu UNOs... Zu deinem Patch Problem: Die boards.txt ist schon richtig. Bei der Programm Installation wird eine boards.txt angelegt. Beim Board Update, wird eine zweites Verzeichnis auf deinem Rechner angelegt. blabla\packages\blabla Diese boards.txt wird genutzt. Ausführliche Meldungen beim kompilieren anzeigen lassen, dann siehst du wo dein packages Verzeichnis steckt. Bei mir ist das: E:\Programme\arduino\portable\packages\arduino\hardware\avr\1.6.21\board s.txt Aber, wie schon gesagt, lass das! Und wenn, dann nicht nur MemorySize ändern, sondern auch die Fuses. Sonst knallt es.
Arduino Fanboy D. schrieb: > Aber, wie schon gesagt, lass das! > Und wenn, dann nicht nur MemorySize ändern, sondern auch die Fuses. > Sonst knallt es. zu spät, es funktioniert mit dem Patch! :)))) Ich kann ja wählen auf Old Bootloader und wenns klemmt brenne ich den Bootloader mit Fuses neu!, ist ja kein Problem! richtiger Pfad:
1 | %AppData%\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\boards.txt |
Ich grübel gerade ob ich die Boards.txt noch erweitere auf ## Arduino Nano w/ ATmega328P (new Bootloader old size) ## -------------------------- nano.menu.cpu.atmega328old=ATmega328P (New Bootloader Old Size) nano.menu.cpu.atmega328old.upload.maximum_size=30720 nano.menu.cpu.atmega328old.upload.maximum_data_size=2048 nano.menu.cpu.atmega328old.upload.speed=115200 nano.menu.cpu.atmega328old.bootloader.low_fuses=0xFF nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA nano.menu.cpu.atmega328old.bootloader.extended_fuses=0xFD nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega3 28.hex nano.menu.cpu.atmega328old.build.mcu=atmega328p
:
Bearbeitet durch User
Man kann (nahezu) alle Anpassungen in *.local.* Dateien machen. Beispiel: Du legst neben deine boards.txt eine boards.local.txt Datei. Dann musst du nicht die original Dateien verbasteln. Und deine Änderungen überleben ein boards Update. Joachim B. schrieb: > zu spät, > es funktioniert mit dem Patch! :)))) Hast du jetzt auch die Fuses angepasst? Nein? Dann wird dir der Kram irgendwann mit Karacho auf die Zehen fallen.
Arduino Fanboy D. schrieb: > Hast du jetzt auch die Fuses angepasst? an welcher Stelle? Ich schrieb ja ich habe die Nanos neu programmiert, Optiboot und Fuses! > Nein? > Dann wird dir der Kram irgendwann mit Karacho auf die Zehen fallen. das begründe mal wieso das sollte! (mit neuem Bootloader und neuen Fuses!) Das Erweitern um ein Menü hat nicht geklappt, der Boardverwalter nimmt davon keine Kenntnis, muss noch tief im 1.6.21 stecken aber da suche ich weiter.
:
Bearbeitet durch User
Joachim B. schrieb: > Das Erweitern um ein Menü hat nicht geklappt, Dann machst du was falsch! Das steckt alles in der boards.txt >an welcher Stelle? Der Resetvektor! Wenn du den nicht änderst, darfst du den neu dazugewonnenen Speicher nicht nutzen. Joachim B. schrieb: > das begründe mal wieso das sollte! > (mit neuem Bootloader und neuen Fuses!) Wenn du die Fuses angepasst hast, ist alles ok.
Arduino Fanboy D. schrieb: > Dann machst du was falsch! > Das steckt alles in der boards.txt ja nur kann der Boardverwalter 1.6.21 nur aus 2 Menüeinträgen unterscheiden Entweder: ------------------------------------------------------- ## Arduino Nano w/ ATmega328P oder ## Arduino Nano w/ ATmega328P (Old Bootloader) ------------------------------------------------------- wenn ich das Menü ## Arduino Nano w/ ATmega328P (new Bootloader old size) hinzufüge gibt es nur die Auswahl ------------------------------------------------------- ## Arduino Nano w/ ATmega328P oder ## Arduino Nano w/ ATmega328P (New Bootloader Old size) ------------------------------------------------------- aus 3 auswählen kann man nicht > Wenn du die Fuses angepasst hast, ist alles ok. siehste :)
Habe dir mal schnell eben eine Menueerweiterung, für den Nano, gebastelt. Sie zeigt den neuen Eintrag: "ATmega328P (New Bootloader full Mem)" Lege die, im Anhang beiliegende, boards.local.txt, neben deine, im packages Ordner befindliche, boards.txt
Arduino Fanboy D. schrieb: > Habe dir mal schnell eben eine Menueerweiterung, für den Nano, > gebastelt. soweit war ich doch auch schon, nur kann man nicht aus 3 Menüpunkten auswählen für den 328p sondern immer nur für 2. Bis jetzt bleibe ich bei den 2 Auswahlmöglichkeiten nano328p mit mehr Speicher und schnellerm upload und old bootloader, die dritte Auswahlmöglichkeit schenke ich mir dann mal, New Bootloader (Alte Speicherbelegung) Joachim B. schrieb: > ja nur kann der Boardverwalter 1.6.21 nur aus 2 Menüeinträgen > unterscheiden > Entweder: > ------------------------------------------------------- > ## Arduino Nano w/ ATmega328P > oder > ## Arduino Nano w/ ATmega328P (Old Bootloader) > ------------------------------------------------------- > > wenn ich das Menü > ## Arduino Nano w/ ATmega328P (new Bootloader old size) > > hinzufüge gibt es nur die Auswahl > ------------------------------------------------------- > ## Arduino Nano w/ ATmega328P > oder > ## Arduino Nano w/ ATmega328P (New Bootloader Old size) > ------------------------------------------------------- > > aus 3 auswählen kann man nicht
:
Bearbeitet durch User
Joachim B. schrieb: > soweit war ich doch auch schon, nur kann man nicht aus 3 Menüpunkten > auswählen für den 328p sondern immer nur für 2. Mal angenommen, du glaubst das wirklich... Dann irrst du! Siehe Bild im Anhang
Arduino Fanboy D. schrieb: > Joachim B. schrieb: >> soweit war ich doch auch schon, nur kann man nicht aus 3 Menüpunkten >> auswählen für den 328p sondern immer nur für 2. > > Mal angenommen, du glaubst das wirklich... > Dann irrst du! > > Siehe Bild im Anhang hey klasse, nur was habe ich falsch gemacht? die IDE nicht neu gestartet? den Rechner nicht neu gestatet? den Cache nicht geleert? ich war ja schon soweit das meine Änderung akzeptiert wurde nur nicht das Menü in der IDE alle 3 (4 mit 168) zeigte
Arduino Fanboy D. schrieb: > Mal angenommen, du glaubst das wirklich... > Dann irrst du! > > Siehe Bild im Anhang ich danke dir, ich weiss nicht was vorher schief lief, aber nun
Schön, dass es jetzt funktioniert! Und danke für die Rückmeldung.
Joachim B. schrieb: > gefunden > %AppData%\Local\Arduino15\packages\arduino\hardware\avr\1.6.21\boards.tx > t Schon Scheiße. Befrage arduino cc nach "portable"! Lege im Arduino-Programmordner ein Unterverzeichnis "portable" an, dann bleiben Einstellungen und Libraries im Programmverzeichnis und landen nicht irgendwo unter dem Windows-Benutzer. Ich habe die A*-IDE auf mehreren Rechnern und synchronisiere sie mit einem simplen Copy-Job. Disziplin ist natürlich gefordert, Programme nur am Master-PC zu ändern bzw. manuell auf diesen zurück zu sichern.
In meiner boards.txt habe ich erfolgreich gebastelt, sie liegt unter D:\Arduino_IDE\hardware\arduino\avr:
1 | ##############################################################
|
2 | atmega328o.name=Arduino Nano 328 Optiboot |
3 | |
4 | atmega328o.upload.tool=avrdude |
5 | atmega328o.upload.protocol=arduino |
6 | atmega328o.upload.maximum_size=32256 |
7 | atmega328o.upload.speed=115200 |
8 | |
9 | atmega328o.bootloader.tool=avrdude |
10 | atmega328o.bootloader.low_fuses=0xff |
11 | atmega328o.bootloader.high_fuses=0xde |
12 | atmega328o.bootloader.extended_fuses=0x05 |
13 | atmega328o.bootloader.file=optiboot_201712/optiboot_atmega328.hex |
14 | |
15 | atmega328o.bootloader.unlock_bits=0x3F |
16 | atmega328o.bootloader.lock_bits=0x0F |
17 | atmega328o.build.mcu=atmega328p |
18 | atmega328o.build.f_cpu=16000000L |
19 | atmega328o.build.core=arduino:arduino |
20 | atmega328o.build.variant=arduino:standard |
21 | |
22 | ## https://itzwieseltal.wordpress.com/2016/01/10/arduino-nano-als-isp-programmiergeraet/
|
23 | ##############################################################
|
Wie man in der Datei sieht, habe ich einen aktuelleren Optiboot (Github) geholt und in ein eigenes Verzeichnis ..\optiboot_201712\ verfrachtet. Ich habe mich damit befasst, weil ich Platzprobleme hatte, sehe aber keinen Grund, meine Nanos generell umzuflashen. Es wird immer palawert, wie toll die höhere Uploadgeschwindigkeit dank Optiboot sei, Kasperei, die paar Sekunden bringen mich in Anbetracht des gesamten Zeitaufwandes kein Stück vorwärts.
Manfred schrieb: > Kasperei, Der wichtigste Grund, ist der WDT. Das andere Verhalten kann man meist tolerieren.
Manfred schrieb: > Schon Scheiße. Befrage arduino cc hast ja so Recht aber ich habe 3 winXP PC, zwei Raspi und einen win7 zumindest alle Sourcen & LIBs liegen auf dem NAS und so kann ich von jedem Rechner zugreifen Jeder will es anders haben, klar wäre mir ein Ort am liebsten, aber nach endlosen Versuchen musste ich einsehen das der ESP32 nur mit dem win7 geht, am PI weiss ich es nicht mal was ausser AVR geht. Irgendwie nervig, aber auch toll wenns endlich so klappt wie man denkt. Der Versuch meinen Hauptarbeitsrechner auf win7 umzustellen ist erst mal gescheitert, irgend einen moderneren kaufen ist mom. nicht geplant, zu viele Baustellen.
Arduino Fanboy D. schrieb: >> Kasperei, > Der wichtigste Grund, ist der WDT. Kannst Du dazu bitte detaillierte Infos liefern? Den Watchdogtimer habe ich bislang nur einmal mit dem Pro-Mini benutzt, der ja den gleichen Bootloader wie der Nano benutzt. Mir ist dabei kein Problem aufgefallen.
Manfred schrieb: > Kannst Du dazu bitte detaillierte Infos liefern? Ein Reset stoppt nicht den WDT. Setzt aber dessen Vorteiler auf den kleinst möglichen Wert. Diese Zeit reicht nicht um den Bootloaderlauf durchzustehen. Während der Bootloader noch arbeitet, schlägt der WDT wieder zu. Der Nano hängt in einem WDT endlos Reset Loop fest.
Arduino Fanboy D. schrieb: > Ein Reset stoppt nicht den WDT. > Setzt aber dessen Vorteiler auf den kleinst möglichen Wert. > > Diese Zeit reicht nicht um den Bootloaderlauf durchzustehen. an welcher Stelle schlägt denn das "Problem" durch? beim alten Bootloader mit langsamen upload oder beim neuen bootloader mit doppelt schnellem Upload. Noch verstehe ich nicht auf was du hinaus willst, du schreibst immer relativ kurz.
Bei dem alten! Der Neue, Optiboot, wurde eingeführt um das Problem zu umgehen.
Arduino Fanboy D. schrieb: > Bei dem alten! > > Der Neue, Optiboot, wurde eingeführt um das Problem zu umgehen. na denn ist es ja fast gelöst, sobald alle nanos umgestellt sind
Arduino Fanboy D. schrieb: > Der wichtigste Grund, ist der WDT. Ich ziehe den alten Thread nochmal hoch: Wenn ich http://www.martyncurrey.com/arduino-atmega-328p-fuse-settings/ glaube, ist beim Arduino der WDT im default aus. ---------- Was mich aber gerade beschäftigt, einen 8MHz ProMini mit dem Optiboot zu versehen. Da greifen die High Byte Fuses: Beim UNO mit Optiboot $DE, bei den anderen $DA. Laut Beschreibung sind das 256x4 = 1024 Bytes gegen 512x8 = 4096 - daraus rechne ich 3072 Bytes Differenz. In der Boards.txt sehe ich dann maximum_size=32256 gegenüber 30720, was nur die Hälfte, 1536 Bytes mehr Platz ergibt. Warum ist das so?
Manfred schrieb: > Arduino Fanboy D. schrieb: >> Der wichtigste Grund, ist der WDT. > > Ich ziehe den alten Thread nochmal hoch: Wenn ich > http://www.martyncurrey.com/arduino-atmega-328p-fuse-settings/ > glaube, ist beim Arduino der WDT im default aus. > > ---------- Du hast einen Widerspruch gefunden, wo keiner ist. Meinen Glückwunsch. > > ---------- Manfred schrieb: > was > nur die Hälfte, 1536 Bytes mehr Platz ergibt. Der Flash Bereich ist Wortweise organisiert. Was dann eben die Hälfte ergibt. ? ?
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.