Forum: Mikrocontroller und Digitale Elektronik ESP-WROOM-32 hat 4MB FLASH - allerdings zeigt platformio in VC.


von Hendrik L. (lbd)


Lesenswert?

... Flash: [======    ]  59.3% (used 777313 bytes from 1310720 bytes)

Was mache ich falsch, wo ist mein Verständnisproblem - wo stecken die 
anderen ~ 2,7MB ?

Danke & Gruß

von Julian L. (rommudoh)


Lesenswert?

Stichwort: Partitionierung

Das ist die Standard-Partitionierung:
https://github.com/espressif/arduino-esp32/blob/master/tools/partitions/default.csv

Die angezeigten 1310720 sind genau die 0x140000 Bytes. Wenn du mehr 
brauchst, musst du die Werte anpassen.

von Hendrik L. (lbd)


Lesenswert?

Julian L. schrieb:
> Stichwort: Partitionierung
>
> Das ist die Standard-Partitionierung:
> 
https://github.com/espressif/arduino-esp32/blob/master/tools/partitions/default.csv
>
> Die angezeigten 1310720 sind genau die 0x140000 Bytes. Wenn du mehr
> brauchst, musst du die Werte anpassen.

Toll - Danke!

Aber wenn ich doch auf platformio den richtigen Prozessor-Typ mit 4 MB 
ausgewählt habe, warum werden dann im Default nur 0x140000 Bytes 
vereinbart?

Wofür soll die Reserve sein???

Habe mittlerweile auch die huge_app.csv gefunden.

Wenn ich in platformio.ini diese Datei angebe
1
 board_build.partitions = huge_app.csv

zeigt er die richtige Größe an. Warum nicht direkt dieser Eintrag?

Danke & Gruß

von Andree S. (amshh)


Lesenswert?

Ziemlich in der Nähe deines
board_build.partitions = huge_app.csv
steht auch der board =    Eintrag
In der dort referenzierten board-Datei
steht vernutlich auch ein
      "partitions": "xxxxxx.csv"
Eintrag.
Und der kommt wohl zum tragen, wenn du eben
NICHT noch explizit einen
 board_build.partitions = huge_app.csv
dazu baust.

A.

von John P. (brushlesspower)


Lesenswert?

Hendrik L. schrieb:
> zeigt er die richtige Größe an. Warum nicht direkt dieser Eintrag?

Weil du kein DFU machen kannst wenn du die vollen 4MB nutzt.
Und viele wollen DFU haben.

Einen Tod muss man sterben.

von Michael U. (amiga)


Lesenswert?

Hallo,

John P. schrieb:
> Hendrik L. schrieb:
>> zeigt er die richtige Größe an. Warum nicht direkt dieser Eintrag?
>
> Weil du kein DFU machen kannst wenn du die vollen 4MB nutzt.
> Und viele wollen DFU haben.
>
> Einen Tod muss man sterben.

DFU kann ich hier nicht deuten...
Man kann den Flash des ESP32 in Partitionen aufteilen. z.B. für ein 
Filesystem (LittleFS) im Flash, als Buffer für OTA und durchaus auch um 
komplett verschiedene Programme abzulegen, Dann kann man ein "Bootmenü" 
starten und das gewünschte auswählen. Das wird dann aus der Partition 
auch nach Reset immer gestartet.
Genutzt hat das z.B.
https://github.com/hardkernel/ODROID-GO

Ich wollte mir das immer mal genauer anschauen...

Gruß aus Berlin
Michael

von John P. (brushlesspower)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> John P. schrieb:
>> Hendrik L. schrieb:
>>> zeigt er die richtige Größe an. Warum nicht direkt dieser Eintrag?
>>
>> Weil du kein DFU machen kannst wenn du die vollen 4MB nutzt.
>> Und viele wollen DFU haben.
>>
>> Einen Tod muss man sterben.
>
> DFU kann ich hier nicht deuten...
> Man kann den Flash des ESP32 in Partitionen aufteilen. z.B. für ein
> Filesystem (LittleFS) im Flash, als Buffer für OTA und durchaus auch um
> komplett verschiedene Programme abzulegen, Dann kann man ein "Bootmenü"
> starten und das gewünschte auswählen. Das wird dann aus der Partition
> auch nach Reset immer gestartet.
> Genutzt hat das z.B.
> https://github.com/hardkernel/ODROID-GO
>
> Ich wollte mir das immer mal genauer anschauen...
>
> Gruß aus Berlin
> Michael

Wir meinen das gleiche.

OTA = Over The Air
DFU = Device Firmware Upgrade

von Hendrik L. (lbd)


Lesenswert?

Wissen macht Aaaaaaaaaaah! Danke!

OTA bedeutet also ich kann die neue Programm-Verion schon im laaufenden 
Betrieb aden ... und bei den folgenden Boots wird auf die StartAdresse 
dieses Segments gesprungen ?

Das wäre ja toll, wenn das PROBLEMLOS funktionieren würde ...!

Danke & Gruß

von Michael L. (michael_l368)


Lesenswert?

Tut es. Sogar recht zuverlässig inkl. rollback, falls es beim Schreiben 
ein Problem gab oder das neue Image nicht hochfährt.

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
Noch kein Account? Hier anmelden.