ESP-IDF V5

Sysprogs forums Forums VisualGDB ESP-IDF V5

Viewing 15 posts - 1 through 15 (of 30 total)
  • Author
    Posts
  • #32808
    gojimmypi
    Participant

    is there an ETA for ESP-IDF v5 release support in VisualGDB?

    although there’s a release label in GitHub, I see it is not yet listed in the releases there.

    I’d really like to be using V5 in VisualGDB sooner than later.

    I didn’t have much success trying on my own. Any manual setup tips appreciated. 🙂

    #32809
    support
    Keymaster

    Hi,

    We usually test VisualGDB with the new ESP-IDF versions once they are officially released by Espressif (i.e. mentioned as a stable release on the releases page and distributed via the Espressif’s installer). It typically takes a couple of weeks after the official release from Espressif for us to retest everything and update VisualGDB.

    If the release is not mentioned there, it has likely not been fully tested by Espressif yet, may not be usable yet, and may change considerably before the final release. If you would like to get a timeframe of the official ESP-IDF v5 release, please contact Espressif.

    #32810
    gojimmypi
    Participant

    Hi.

    Yes, I completely understand. That’s fair.

    I’m still hopeful that I can get this working. 🙂

    I have it working using idf.py, and this text seems to indicate it should be possible:

    Any project that can be built via ESP-IDF tools, can also be built with VisualGDB

    I’ve opened Espressif idf-installer issue #142 in the hope that someone has an idea for a solution.

    #32811
    support
    Keymaster

    Sure, you can always follow the troubleshooting instructions from the same documentation page you mentioned. They show how to narrow the problem down to specific command lines, so you can compare and adjust them outside VisualGDB.

    #32812
    gojimmypi
    Participant

    I’ve made some progress on getting the emitted VisualGDB cmake command to complete without errors, at least from a command prompt.

    For one, I needed to add 2 CMake config variables in the Build Settings GUI:

    IDF_TARGET = esp32c3
    CCACHE_ENABLE = 1

    Next, I needed to add these environment variables:

    SET IDF_CCACHE_ENABLE=1
    SET IDF_PATH=C:\SysGCC\esp32\esp-idf\v5.0
    SET IDF_PYTHON_ENV_PATH=C:\Espressif\python_env\idf5.0_py3.8_env
    SET IDF_TOOLS_PATH=C:\Espressif
    SET ESP_IDF_VERSION=5.0

    And last, I needed to add these to the Path:

    C:\Espressif\tools\xtensa-esp-elf-gdb\11.2_20220529\xtensa-esp-elf-gdb\bin;
    C:\Espressif\tools\riscv32-esp-elf-gdb\11.2_20220529\riscv32-esp-elf-gdb\bin;
    C:\Espressif\tools\xtensa-esp32-elf\esp-2022r1-RC1-11.2.0\xtensa-esp32-elf\bin;
    C:\Espressif\tools\xtensa-esp32s2-elf\esp-2022r1-RC1-11.2.0\xtensa-esp32s2-elf\bin;
    C:\Espressif\tools\xtensa-esp32s3-elf\esp-2022r1-RC1-11.2.0\xtensa-esp32s3-elf\bin;
    C:\Espressif\tools\riscv32-esp-elf\esp-2022r1-RC1-11.2.0\riscv32-esp-elf\bin;
    C:\Espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;
    C:\Espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin;
    C:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20220411\openocd-esp32\bin;
    C:\Espressif\tools\ninja\1.10.2\;C:\Espressif\tools\idf-exe\1.0.3\;
    C:\Espressif\tools\ccache\4.3\ccache-4.3-windows-64;
    C:\Espressif\tools\dfu-util\0.9\dfu-util-0.9-win64;
    C:\Espressif\python_env\idf5.0_py3.8_env\Scripts;
    C:\SysGCC\esp32\esp-idf\v5.0\tools;C:\Python36\;
    C:\Python36\Scripts;

    What is the best method for modifying the path and environment variables for CMake in VisualGDB? I saw the documentation, but I don’t know exactly where to apply that. Before I go pecking them all in, is that the “User Variables” at the bottom of the config page?

    btw – I tried simply adding a called to export.bat in the “before build”… but it does exactly that: before the build, but not before cmake.

    Thank you.

     

    #32814
    support
    Keymaster

    Hi,

    This is actually shown right after the instructions to dump the command line in the same troubleshooting page. You will likely need to set it for both CMake and Make/Ninja commands.

    That said, it looks like your manual setup is using a different toolchain (esp-2022r1-RC1-11.2.0), that would explain the different behavior.

    The best way to integrate it would be to:

    1. Create a backup of the c:\SysGCC directory
    2. Delete the old ESP32 compiler directory (E:\sysgcc\esp32\tools\xtensa-esp32-elf\esp-2021r2-patch3) and copy the 2022r1 version under E:\sysgcc\esp32\tools\xtensa-esp32-elf.
    3. Edit toolchain.xml and bsp.xml, replacing xtensa-esp32-elf/esp-2021r2-patch3 with xtensa-esp32-elf/esp-2022r1-RC1-11.2.0 where appropriate (please use extra caution, since ESP32-S2/C3 targets use separate toolchains in their own directories).
    4. Reopen the solution.

    Again, this is something to do at your own risk. We will do all these steps, retest everything and publish a ready-to-use package once Espressif deems them stable enough for a general release. We intentionally do not do this for pre-release versions, as they tend to be much less reliable and often change in various subtle ways before the final release.

     

    #32878
    gojimmypi
    Participant

    Hi,

    Hopefully Espressif will have an official release of ESP-IDF V5 soon.

    Manually editing the toolchain.xml and bsp.xml was marginally successful, but there’s a new error related to kconfiglib.that I’ve been unable to resolve.

    Although there’s a line:

        Requirement already up-to-date: kconfiglib

    There’s still an error:

      ModuleNotFoundError: No module named 'kconfiglib'

    Full log:

    Executing pre-build actions
    Run "pip3 install --upgrade kconfiglib" in directory "C:\Users\gojimmypi\source\repos\EmbeddedProject23" on local computer
    pip3 install --upgrade kconfiglib
    Requirement already up-to-date: kconfiglib in c:\users\gojimmypi\appdata\local\programs\python\python38-32\lib\site-packages (14.1.0)
    WARNING: You are using pip version 19.2.3, however version 22.2.1 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.
    Run "C:\Users\gojimmypi\AppData\Local\VisualGDB\CMake\bin\cmake.exe ../../.. -G "Ninja" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_MAKE_PROGRAM=c:/SysGCC/esp32/tools/ninja/1.10.2/ninja.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=0" in directory "C:\Users\gojimmypi\source\repos\EmbeddedProject23/build/VisualGDB/Debug" on local computer
    C:\Users\gojimmypi\AppData\Local\VisualGDB\CMake\bin\cmake.exe ../../.. -G "Ninja" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_MAKE_PROGRAM=c:/SysGCC/esp32/tools/ninja/1.10.2/ninja.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=0
    -- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
    -- Building ESP-IDF components for target esp32
    -- Checking Python dependencies...
    Python requirements are satisfied.
    Skipping the download of C:\Users\gojimmypi\.espressif\espidf.constraints.v5.0.txt because it was downloaded recently. If you believe that this is causing you trouble then remove it manually and re-run your install script.
    Constraint file: C:\Users\gojimmypi\.espressif\espidf.constraints.v5.0.txt
    Requirement files:
    - C:\SysGCC\esp32\esp-idf\v5.0\tools\requirements\requirements.core.txt
    Python being checked: C:\Users\gojimmypi\.espressif\python_env\idf5.0_py3.8_env\Scripts\python.exe
    -- Project sdkconfig file C:/Users/gojimmypi/source/repos/EmbeddedProject23/sdkconfig
    Traceback (most recent call last):
    File "C:/SysGCC/esp32/esp-idf/v5.0/tools/kconfig_new/confgen.py", line 23, in <module>
    import gen_kconfig_doc
    File "C:\SysGCC\esp32\esp-idf\v5.0\tools\kconfig_new\gen_kconfig_doc.py", line 27, in <module>
    import kconfiglib
    ModuleNotFoundError: No module named 'kconfiglib'
    CMake Error at C:/SysGCC/esp32/esp-idf/v5.0/tools/cmake/kconfig.cmake:176 (message):
    Failed to run confgen.py
    (python;C:/SysGCC/esp32/esp-idf/v5.0/tools/kconfig_new/confgen.py;--list-separator=semicolon;--kconfig;C:/SysGCC/esp32/esp-idf/v5.0/Kconfig;--sdkconfig-rename;C:/SysGCC/esp32/esp-idf/v5.0/sdkconfig.rename;--config;C:/Users/gojimmypi/source/repos/EmbeddedProject23/sdkconfig;--env-file;C:/Users/gojimmypi/source/repos/EmbeddedProject23/build/VisualGDB/Debug/config.env).
    Error 1
    Call Stack (most recent call first):
    C:/SysGCC/esp32/esp-idf/v5.0/tools/cmake/build.cmake:596 (__kconfig_generate_config)
    C:/SysGCC/esp32/esp-idf/v5.0/tools/cmake/project.cmake:434 (idf_build_process)
    CMakeLists.txt:8 (project)
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/Users/gojimmypi/source/repos/EmbeddedProject23/build/VisualGDB/Debug/CMakeFiles/CMakeOutput.log".
    -------------------------------------------------------------
    Command exited with code 1
    Executable: C:\Users\gojimmypi\AppData\Local\VisualGDB\CMake\bin\cmake.exe
    Arguments: ../../.. -G "Ninja" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_MAKE_PROGRAM=c:/SysGCC/esp32/tools/ninja/1.10.2/ninja.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=0
    Directory: C:\Users\gojimmypi\source\repos\EmbeddedProject23/build/VisualGDB/Debug
    Command-line action failed
    
    ========== Project Build Summary ==========
    EmbeddedProject23 built in 00:14
    ========== Build: 0 Succeeded, 1 Failed, 0 Skipped ==========

     

    #32888
    support
    Keymaster

    No problem. Feel free to bump this thread once ESP-IDF v5 is officially released and we will provide a timeline on fully integrating it.

    #33111
    gojimmypi
    Participant

    Hello!

    Just a little heads-up that ESP-IDF V5 is in release beta.  😎

    https://github.com/espressif/esp-idf/releases

    https://docs.espressif.com/projects/esp-idf/en/v5.0-beta1/esp32/

    Hopefully final release any day now.

    Cheers

     

    #33112
    support
    Keymaster

    No problem. Feel free to bump this thread once ESP-IDF v5 is officially released (not beta) and we will provide a timeline on fully integrating it.

    #33456
    gojimmypi
    Participant

    Heads up there’s finally an ESP-IDF 5.0 Release Candidate! Woohoo!  😎

    Release ESP-IDF Pre-release v5.0-rc1 · espressif/esp-idf · GitHub

    #33457
    support
    Keymaster

    No problem. Feel free to bump this thread once ESP-IDF v5 is officially released (not beta and not RC) and we will provide a timeline on fully integrating it.

    #33494
    gojimmypi
    Participant

    Tada! ESP-IDF Version 5.0 is released 🙂

    https://github.com/espressif/esp-idf/releases/tag/v5.0

    #33496
    support
    Keymaster

    Thanks, it looks like ESP-IDF 5.0 relies on a newer toolchain, that is still in RC stage. In order to ship a pre-packed toolchain with ESP-IDF 5.0, we would need to take the components from that toolchain, so we would still need to wait a stable release is available.

    #33504
    x_ruslan
    Participant

    ESP-IDF Version 5.0 is released.

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