Skip to content

ESP32-S2 bootloader address seems wrong in manifests: is 0 but should be 4096 #70

@dreamlayers

Description

@dreamlayers

Here and in other manifests, it seems the ESP32-S2 bootloader gets written to flash offset 0. This is wrong. It should be 4096 or 0x1000:

{ "path": "bootloader_s2.bin", "offset": 0 },
{ "path": "partitions_s2_4m.bin", "offset": 32.768 },
{ "path": "https://proxy.corsfix.com/?https://github.com/wled/WLED/releases/download/v0.15.3/WLED_0.15.3_ESP32-S2.bin", "offset": 65536 }

https://docs.espressif.com/projects/esp-idf/en/stable/esp32s2/api-guides/bootloader.html says

ESP-IDF second stage bootloader is located at the address 0x1000 in the flash.

I also don't understand why the partitions file offset contains a decimal point 32.768. The partition table is at offset 32768 or 0x8000, so the digits are correct, but will that work right with the decimal point? https://docs.espressif.com/projects/esp-idf/en/stable/esp32s2/api-guides/partition-tables.html

A single ESP32-S2's flash can contain multiple apps, as well as many different kinds of data (calibration data, filesystems, parameter storage, etc). For this reason a partition table is flashed to (default offset) 0x8000 in the flash.

The files themselves do work. I was able to manually install on an S2 mini using bootloader_s2.bin, partitions_s2_4m.bin and WLED_0.15.3_ESP32-S2.bin.

Flashing the bootloader to address 0 leads to endless "Invalid Header" errors on serial output. Note that this appears on serial pins as 115200 baud output. At that stage in the boot sequence, the S2 does not act as a USB device. The S2 mini doesn't provide access to serial pins, and careful soldering is needed to see serial output. Later on, if WLED boots successfully, then WLED serial output switches to a USB serial device.

The ESP32-S3 bootloader address is 0, so that is correct, but it also has that decimal point in the partitions file offset which may be a problem. I do not have a ESP32-S3 to test with.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions