ESP-IDF custom partition table

Sysprogs forums Forums VisualGDB ESP-IDF custom partition table

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #24898
    parsec67
    Participant

    I have an ESP32 project with a custom partition table that I until now have built using Make under the standalone MSYS2 environment. I never could get it to work in VisualGDB so had to resort to this old school method for my ESP32 project. Under MSYS2 my custom partition table binary was automatically built if configured via menuconfig and with the definition CSV file present in the project root directory.

    Now with the latest VisualGDB release 5.4 I gave it another shot and to my delight my project builds fine within VS using 5.4R5. But I cannot find the partition table binary anywhere in the project directory structure which means that either the CSV file is not found (no errors in build output) or the ESP-IDF toolchain script <code class=”docutils literal notranslate”><span class=”pre”>gen_esp32part.py</span> is never invoked hence the binary never built. The CSV file is set under ESP-IDF configuration alongside the “Custom partition table CSV” option.

    With CMake now in the mix, where am I supposed to place the partition definition CSV file for it to be picked up during build?

    #24902
    support
    Keymaster

    Hi,

    The partition table is fully handled by the ESP-IDF itself. VisualGDB simply lets ESP-IDF process it, queries the resulting project structure and renders it in the Solution Explorer, hence it does not control the exact location of the CSV file, or the logic related to it.

    Our best advice for locating the partition table file would be to try cloning a sample project with a custom partition table (if ESP-IDF includes one) and checking the build log for partition table-related messages. If nothing helps, please consider checking at the Espressif’s forum – you might be able to get some insights from the team that designed the ESP-IDF there.

    #24905
    parsec67
    Participant

    Hi,

    As per Espressif documentation, the partition table should be generated automatically during build if configured in sdkconfig and the resulting binary saved in Debug/Release folders.

    Below is just for future reference.

    I created a new blank GNU make project based on hello-world sample, then in VisualGDB/ESP-IDF configuration/Partition table:

    Partition table = Custom partition table CSV
    Custom partition= part2.csv

    part2.csv located in project root folder. This correctly builds part2.bin and puts the binary in the Debug project subfolder.

    I then created a new blank CMake project based on hello-world sample with identical settings in ESP-IDF configuration and part2.csv located in project root directory. The partition table part2.bin is not built, there are no traces of any part2.bin file in the project directory and no references to it or the CSV file in the build output. I tried placing the CSV file in different locations in the file system, providing full path etc. etc. but nothing made a difference.

    With the underlying toolchain being the same there is obviously a discrepancy between GNU make and CMake. Searching Interwebz or looking at Espressif’s GitHub issue tracker was fruitless. So I think I’ll just stick with the slower but working GNU make for now.

    #24907
    support
    Keymaster

    Thanks for sharing this. From our experience, the Espressif team often breaks features in new releases, but then they fix them relatively fast once reported, so it could be worthwhile to leave an inquiry on their forum, or create a bug on Github. But if the slower GNU Make subsystem works for you, that could also be an option.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.