Go Down

Topic: Optiboot mit 328p auf nano 16MHz und mini mit 8 MHz und für alle anderen mit 328 (Read 378 times) previous topic - next topic

jar_

ich suchte und fand den Hinweis:
Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

also stelle ich hier noch mal meine Frage,

was ich getan hatte,
1. Arduino 1.8.5 installiert
2. Boards Bibliothek mit dem Boardverwalter update verpasst, Arduino AVR Boards by Arduino Version 1.6.21
3. Optiboot für nano 328p mit 16 MHz in den Bootloader per ISP geflashed
4. Die Fuse von 1024 (rem 2K) Wörter auf 256 (rem 512 Byte) Wörter gestellt

Testlauf mit der Arduino IDE, neuen Bootloader gewählt, Nano gewählt, 328 gewählt,
Code wird einwandfrei kompiliert, geflasht, ausgeführt
Nur wird mir immer noch als Maximum 30270 Byte angezeigt und nicht32xxx Byte

Deswegen hat man das doch geändert, wo also bitte muss man in der Boards.txt anpassen?
was muss man noch ändern und wo?

LG _jar

DrAzzy

You also need to change the maximum upload size in boards.txt.

the boards.txt that it uses is buried in the Arduino15 folder (assuming it's not a "portable" installation), since you installed via board manager (once you've installed or upgraded the avr board package via board manager, the hardware folder in the install location is no longer used for the avr board pacakge).

I generally advise against modifying any board package you installed via board manager. The changes will be lost next time you upgrade, and you need to dig to find the correct files to modify.

Why not just bootload it as an Uno, and tell the IDE that it's an Uno? That works fine.
If you need the A6/A7 analog-only pins, I'd use MiniCore, which provides appropriate board definition, treating it as a generic 328p, using a 512-byte optiboot bootloader.
ATtiny core for 841+1634+828 and x313/x4/x5/x61/x7/x8 series Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts (some assembled), mosfets and awesome prototyping board in my store http://tindie.com/stores/DrAzzy

jar_

OK fine, thanks

You also need to change the maximum upload size in boards.txt.
I generally advise against modifying any board package you installed via board manager. The changes will be lost next time you upgrade, and you need to dig to find the correct files to modify.

Why not just bootload it as an Uno, and tell the IDE that it's an Uno? That works fine.
it works fine, but i wounder why not correct the hole Boards.txt.
but i understand the trouble with updates!

best regards _jar

jar_

but,

/*
optiboot Nano328p new Bootloader
Der Sketch verwendet 26688 Bytes (86%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1619 Bytes (79%) des dynamischen Speichers,
429 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
*/
/*
optiboot Arduino Uno 512 Byte
Der Sketch verwendet 26706 Bytes (82%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 1637 Bytes (79%) des dynamischen Speichers,
411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
*/

why the Uno need with 26706 Bytes more Bytes than nano with 26688 Bytes?


combie

Kluge Worte zu schreiben, ist schwer.
Schon ein einziger Buchstabendreher, kann alles urinieren.

jar_

Gestern noch durchgekaut:
[Bericht] Die unvollendete Nano Geschichte
hatte ich gelesen, aber warum der nano und der uno verschiedene Größen kompiliert wird nicht erklärt

combie

Doch!
Weil auf den neuen Nanos zwar der neue Bootloader drauf ist, aber die Fuses falsch gesetzt sind.
Darum muss auch mit den alten Speicherangaben gearbeitet werden.

Kluge Worte zu schreiben, ist schwer.
Schon ein einziger Buchstabendreher, kann alles urinieren.

jar_

Doch!
Weil auf den neuen Nanos zwar der neue Bootloader drauf ist, aber die Fuses falsch gesetzt sind.
Darum muss auch mit den alten Speicherangaben gearbeitet werden.


das ändert doch nur was an der flash frei Summe mehr frei, mehr bleibt übrig, weniger frei weniger bleibt übrig

aber die Codegröße müsste gleich sein und nun kommst du

ich weiss der Fehler sitzt vor der Tastatur, mit altem Code ist in jeder Variante Uno, Nano, alter Bootloader neuer Bootloader der Code gleich groß

was da vorher steht warum der Code verschieden groß ist weiss ich nicht



combie

Quote
aber die Codegröße müsste gleich sein und nun kommst du
Codegröße von was?
Kluge Worte zu schreiben, ist schwer.
Schon ein einziger Buchstabendreher, kann alles urinieren.

uxomm

Eigenartig ist auch, dass die Größe der globalen Variablen unterschiedlich ist:
optiboot Nano328p new Bootloader
Der Sketch verwendet 26688 Bytes (86%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1619 Bytes (79%) des dynamischen Speichers,
429 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
*/
/*
optiboot Arduino Uno 512 Byte
Der Sketch verwendet 26706 Bytes (82%) des Programmspeicherplatzes. Das Maximum sind 32256 Bytes.
Globale Variablen verwenden 1637 Bytes (79%) des dynamischen Speichers,
411 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
*/
Wäre günstig, wenn du deinen Code zeigst.

Ich habe es mit ein paar Beispielen ausprobiert und da kommt (wie zu erwarten) für Nano und Uno immer dieselbe Größe beim Kompilieren raus (Flash und RAM).
Always decouple electronic circuitry.

combie

Quote
Ich habe es mit ein paar Beispielen ausprobiert und da kommt (wie zu erwarten) für Nano und Uno immer dieselbe Größe beim Kompilieren raus (Flash und RAM).
Wie sollte es auch anders sein?
Kluge Worte zu schreiben, ist schwer.
Schon ein einziger Buchstabendreher, kann alles urinieren.

postmaster-ino

Hi

... auch wäre auffällig, daß die 18 Byte 'von Oben nach Unten' gehen - bzw. umgekehrt.

Somit wird wohl 'nur' irgendwas 'wo anders geparkt'.

MfG

jar_

ich schrieb ja ich konnte es nicht mehr reproduzieren habe extra noch mal mit einem alten Code versucht.

Vielleicht ist mir da eine Codeänderung durchgeschlüpft.

combie

Quote
Vielleicht ist mir da eine Codeänderung durchgeschlüpft.
Das ist die einzige plausible Erklärung.
Kluge Worte zu schreiben, ist schwer.
Schon ein einziger Buchstabendreher, kann alles urinieren.

Go Up