← index #6553Issue #17567
Related · high · value 2.385
QUERY · ISSUE

ESP32 execute esp.read_flash() cause exception

openby walklinewangopened 2020-10-16updated 2024-09-13
docsport-esp32
  • firmware version: MicroPython v1.13-106-g893f75546-dirty on 2020-10-16

  • customize partition table:

    name type sub-type offset size
    nvs data nvs 0x9000 0x6000
    phy_init data phy 0xf000 0x1000
    factory app factory 0x10000 0x180000
    vfs data fat 0x200000 0x1ff000
    user_data data fat 0x3ff000 0x1000
  • executed code:

    >>> import esp32
    >>> part=esp32.Partition
    >>> part.find(type=part.TYPE_DATA)
    [<Partition type=1, subtype=2, address=36864, size=24576, label=nvs, encrypted=0>, <Partition type=1, subtype=1, address=61440, size=4096, label=phy_init, encrypted=0>, <Partition type=1, subtype=129, address=2097152, size=2093056, label=vfs, encrypted=0>, <Partition type=1, subtype=129, address=4190208, size=4096, label=user_data, encrypted=0>]
    >>> user=part("user_data")
    >>> user.info()
    (1, 129, 4190208, 4096, 'user_data', False)
    >>>
    >>>
    >> import esp
    >>> esp.flash_size()
    4194304
    >>> esp.flash_write(0x3ff000, b'walkline')
    >>> esp.flash_read(0x3ff000, 0x10)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: object with buffer protocol required
    >>>
    

According to the doc, the 2nd param is a length of buffer that I want to read, but why it raise a TypeError to me?

BTW, are there anyone knows how to use esp32.Partition to read and write blocks?

Thanks~

CANDIDATE · ISSUE

ESP32S3 4M Port missing. Partition table in Firmware in file is wrong

openby mispacekopened 2025-06-26updated 2025-06-26
bugport-esp32

Port, board and/or hardware

esp32

MicroPython version

I have a problem on 4M variant of ESP32S3 (ESP32S3 Super Mini)

4M variant of firmware working good, without any problems.

But 4M firmware download is missing now on Micropython firmware download page.

I try to flash "universal" firmware v1.25.0 (2025-04-15)

and now my Filesystem not working.

MPY: soft reboot
Traceback (most recent call last):
File "_boot.py", line 11, in <module>
File "inisetup.py", line 38, in setup
File "inisetup.py", line 7, in check_bootsec
OSError: (-24579, 'ESP_ERR_FLASH_NOT_INITIALISED')
MicroPython v1.25.0 on 2025-04-15; Generic ESP32S3 module with ESP32S3

I try to compare 4M firmware and new firmware, and partition table at adress 0x8000 in flash memory is different.
Partition table in new firmware is for 6MB filesystem.

Please bring back the 4M variant of Micropython

Reproduction

Download new image from Micropython website for ESP32S3
https://micropython.org/resources/firmware/ESP32_GENERIC_S3-20250415-v1.25.0.bin

Upload it to 4M variant of ESP32S3 and open REPL

Expected behaviour

I expected working filesystem, but vfs partition is broken now.

Observed behaviour

Flashing back to 4M Variant firmware helps... but for other people 4M build is missing now on download page

Additional Information

No, I've provided everything above.

Code of Conduct

Yes, I agree

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied