L01 flash,nvs,partitions,efuse configuration

  • Hi all,
    i need to produce a L01 based board with my custom fw and application.

    I know there is partitions file (partitions.csv) under esp32/lib:

    Name, Type, SubType, Offset, Size

    nvs, data, nvs, 0x9000, 0x7000
    factory, app, factory, 0x10000, 1536K
    otadata, data, ota, , 4K
    ota_0, app, ota_0, 0x1a0000, 1536K
    dummy, data, 7, , 64K
    fs, data, 5, 0x380000, 508K
    config, data, 6, , 4K

    Is that partitioning schema valid also for L01 board or need to be manually adapted ?

    Where the efuse parts ?

    What does mean "dummy, data, 7, , 64K" ? 64K partition named dummy who start exactly at the end of the previous partition ?

    How can i read and write the partitions ? is pycom-fwtool-cli the right tool for that ? if yes manual page explain that the CB structure is reported here :https://github.com/pycom/pycom-micropython-sigfox/blob/master/esp32/pycom_config.h#L24, so witch kind of syntax is required to read/write the CB fields ? Same for NVS.

    Also partitioning file csv seems different from wath is reported in L01 spec pdf. (par. 11.0 Memory Map)

    I need to produce a certain number of L01 board burning it with wlan mac , LoRaWan dev_eui, BLE id and many other setting and i try to chose the best schema to do that.

    Thanks in advance

  • administrators

  • @xykon Where i can found it ?

  • administrators


    @queifaro said in L01 flash,nvs,partitions,efuse configuration:

    @xykon Hello, did you finalize the new firmware release ?


  • @xykon Hello, did you finalize the new firmware release ?

  • @xykon Thanks.

  • administrators

    I am hoping to finally release the new beta firmware updater this week that will have a couple of cool new deployment features including easy distribution of file system and other partitions, plus a "copy" function that will let you backup & restore the various partitions on the esp32.

    @queifaro The L01 will work with the partition table, no modification is necessary. The size and location of the flash file system is determined during runtime.

  • I am also building custom firmware with frozen application for my customers. I believe it is not yet possible to include custom file system or NVS pre-populated with values. This is why I store default NVS values in the code and after first boot they are written in the NVS and "init" value is set in the NVS as well. When this value is found in the NVS during following boots the initialization routine is skipped. JSON config files are created this way as well.
    I know that there was a plan to implement a way to include custom file system in the firmware, however I am not sure if this is already working.

    After building custom firmware, it is necessary to include following files into a *.tar.gz archive:

    • bootloader.bin
    • partitions.bin
    • lopy.bin (lopy4.bin, ...)
    • script (from /esp32/boards/... directory according to board type)
    tar -cvzf fw.tar.gz bootloader.bin partitions.bin script lopy.bin

    To flash new firmware you can use pycom-fwtool-cli:

    pycom-fwtool-cli -v -p comXY -s 921600 flash -t fw.tar.gz

    This syntax is valid for flashing from Windows.

Log in to reply

Pycom on Twitter