tbnobody / OpenDTU

Software for ESP32 to talk to Hoymiles/TSUN/Solenso Inverters
GNU General Public License v2.0
1.82k stars 508 forks source link

Code size to large #686

Closed EckmarSchmitz closed 1 year ago

EckmarSchmitz commented 1 year ago

What happened?

Getting the Git code and compile with "d1 mini esp32" I get the following error message:

Checking size .pio\build\d1 mini esp32\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 17.4% (used 57160 bytes from 327680 bytes) Error: The program size (1706889 bytes) is greater than maximum allowed (1572864 bytes) Flash: [=====*** [checkprogsize] Explicit exit, status 1 =====] 108.5% (used 1706889 bytes from 1572864 bytes) ============================================ [FAILED] Took 38.87 seconds ============================================

Environment Status Duration


d1 mini esp32 FAILED 00:00:38.873 ======================================= 1 failed, 0 succeeded in

With another ESP8266 board I get the same problem. How to change the file size?

To Reproduce Bug

Compile code from git hub with visual studio code

Expected Behavior

binary should be generated.

Install Method

Self-Compiled

What git-hash/version of OpenDTU?

?

Relevant log/trace output

Checking size .pio\build\d1 mini esp32\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  17.4% (used 57160 bytes from 327680 bytes)
Error: The program size (1706889 bytes) is greater than maximum allowed (1572864 bytes)
Flash: [=====*** [checkprogsize] Explicit exit, status 1
=====]  108.5% (used 1706889 bytes from 1572864 bytes)
============================================ [FAILED] Took 38.87 seconds ============================================

Environment    Status    Duration
-------------  --------  ------------
d1 mini esp32  FAILED    00:00:38.873
======================================= 1 failed, 0 succeeded in

Anything else?

No response

tbnobody commented 1 year ago

Maybe you have done some own modifications to the souce code. The original code compiles without any problems and also fits into the flash.

EckmarSchmitz commented 1 year ago

Hallo tbnobody, ich habe nochmals über VisualStudioCode das komplette Projekt aus Github neu geholt. Keine Änderungen gemacht nur neu über Ausführen/Debug starten das Projekt kompiliert.

Das ist die Ausgabe komplett:

Processing generic (board: esp32dev; framework: arduino; platform: espressif32@>=6.0.1)

Verbose mode can be enabled via -v, --verbose option Firmware Revision: g055eb3a CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html PLATFORM: Espressif 32 (6.1.0) > Espressif ESP32 Dev Module HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES:

Environment Status Duration


generic FAILED 00:00:39.903 ======================================= 1 failed, 0 succeeded in 00:00:39.903 =======================================

Das Ergebnis ist das Gleiche wie mit den Änderungen für das D1 Mini ESP32. Was ist da falsch? Visual Studio Code ist nicht meine normale Entwicklungsumgebung. Ich benutze für meine Projekte das normale Visual Studio 2022. Ich hoffe du kannst mir helfen warum der Code nicht in den Microcontroller passen soll. Eigentlich wäre ja genügend ROM verfügbar.

Gruß Eckmar

Von: tbnobody @.> Gesendet: Sonntag, 12. März 2023 18:05 An: tbnobody/OpenDTU @.> Cc: Eckmar Schmitz @.>; Author @.> Betreff: Re: [tbnobody/OpenDTU] Code size to large (Issue #686)

Maybe you have done some own modifications to the souce code. The original code compiles without any problems and also fits into the flash.

— Reply to this email directly, view it on GitHubhttps://github.com/tbnobody/OpenDTU/issues/686#issuecomment-1465249153, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVPFS5FA2OXI5OEHYWKBA2DW3X63TANCNFSM6AAAAAAVYG5J4Y. You are receiving this because you authored the thread.Message ID: @.**@.>>

tbnobody commented 1 year ago
  • Task wird ausgeführt: C:\Users\mail.platformio\penv\Scripts\platformio.exe debug

You are building with debug symbols. This leads to a larger code size (also the timings are different). I don't know which button you are pressing to compile the source, but its the wrong one :-)

helgeerbe commented 1 year ago

@tbnobody I know this might be a breaking change. But is it possible to change partitions_customsand take 200kB from the file system? So we can gain additional 100kB for the firmware?

While writing I see, that debug build needs additional 130 kB. So this will not work. But to extend the firmware partition would help for further extensions.

tbnobody commented 1 year ago

@tbnobody I know this might be a breaking change. But is it possible to change partitions_customsand take 200kB from the file system? So we can gain additional 100kB for the firmware?

Yes that will be needed in a nearby future. But as you said, it will be a very breaking change. All users have to re-flash everything using the USB port. This is why I would postpone this as long as possible. Also the further integration of HMS/HMT inverters will take some memory. But currently it still fits.

helgeerbe commented 1 year ago

Well my OpenDTU-onBattery has 22kB left for the sketch. I would vote for as soon as possible. ;)

tbnobody commented 1 year ago

I am going to close this issue as it referes only to the debug build

github-actions[bot] commented 7 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns.