espflash icon indicating copy to clipboard operation
espflash copied to clipboard

`image_too_big` error when using espflash v3.0.0

Open armandas opened this issue 1 year ago • 4 comments

I tried to upgrade to v3.0.0, but it produces the following error:

[2024-03-20T08:04:58Z INFO ] Serial port: '/dev/ttyACM0'
[2024-03-20T08:04:58Z INFO ] Connecting...
[2024-03-20T08:04:58Z INFO ] Using flash stub
Chip type:         esp32s3 (revision v0.2)
Crystal frequency: 40 MHz
Flash size:        8MB
Features:          WiFi, BLE
MAC address:       48:27:e2:82:7d:58
Error: espflash::image_too_big (link)

  × Supplied ELF image of 1114592B is too big, and doesn't fit configured app partition of 1048576B
  help: Reduce the size of the binary or increase the size of the app partition.

V2.1.0 works fine:

[2024-03-20T07:58:18Z INFO ] 🚀 A new version of espflash is available: v3.0.0
[2024-03-20T07:58:18Z INFO ] Serial port: '/dev/ttyACM0'
[2024-03-20T07:58:18Z INFO ] Connecting...
[2024-03-20T07:58:18Z INFO ] Using flash stub
Chip type:         esp32s3 (revision v0.2)
Crystal frequency: 40MHz
Flash size:        8MB
Features:          WiFi, BLE
MAC address:       48:27:e2:82:7d:58
App/part. size:    1,114,592/8,323,072 bytes, 13.39%
[00:00:00] [========================================]      14/14      0x0                                                                                                                                                                    [00:00:00] [========================================]       1/1       0x8000                                                                                                                                                                 [00:00:08] [========================================]     650/650     0x10000                                                                                                                                                                [2024-03-20T07:58:28Z INFO ] Flashing has completed!

armandas avatar Mar 20 '24 08:03 armandas

Hi! Mind giving some more details? Are you using espflash or cargo-espflash? Is it a std or no_std app? Also, mind trying using --no-stub and --flash-size arguments?

SergioGasquez avatar Mar 25 '24 08:03 SergioGasquez

Sure. I am using the espflash command, as described here. My project is using std, but how does that affect the flashing tool?

--no-stub didn't help, but it did work with --flash-size 8mb. From the output in my previous post, however, we can see that the tool already knows there's 8MB of flash.

armandas avatar Mar 25 '24 13:03 armandas

Also just want to add that I haven't explicitly configured the partitions, but V2 tool had no problem with it, so from usability perspective, the new tool should not break either.

armandas avatar Mar 25 '24 13:03 armandas

Hi, I'm running into the same issue since the last update of espflash

× Supplied ELF image of 1582768B is too big, and doesn't fit configured app partition of 1048576B
  help: Reduce the size of the binary or increase the size of the app partition.

My goal is to convert the binary, so I can use it OTA as before. If I understand correctly, --merged is not correct for my use case, as it will contain the whole flash, not just the new image for the ota partition, but without merged, I cannot use --partition-table. I tried settings --flash-size, but it did not have any apparent change.

My actual partition table is:

nvs,      data, nvs,     ,        16k,
otadata,  data, ota,     ,        8k,
phy_init, data, phy,     ,        4k,
ota_0,    app,  ota_0,   ,        1792K,
ota_1,    app,  ota_1,   ,        1792K,
storage,  data, spiffs,  ,        400K, 

Failed command cargo espflash save-image --chip esp32 image.bin

Workaround

cargo install espflash --version 2.1.0 cargo-espflash cargo install espflash --version 2.1.0 espflash

After this the same command returns:

[2024-04-02T09:31:18Z INFO ] 🚀 A new version of cargo-espflash is available: v3.0.0
   Compiling plant-ctrl2 v0.1.0 (/home/empire/workspace/PlantCtrl/rust)
    Finished dev [optimized + debuginfo] target(s) in 7.33s
Chip type:         esp32
Merge:             false
Skip padding:      false
App/part. size:    1,582,768/4,128,768 bytes, 38.34%

empirephoenix avatar Apr 02 '24 09:04 empirephoenix