ESP32 toolchain

Sysprogs forums Forums VisualGDB ESP32 toolchain

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #20935
    jsmith
    Participant

    Hi guys,

    any chance to get ESP32 toolchain with -mfix-esp32-psram-cache-issue support?

    Or even better – could you please explain how can I use https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip with your debugger? Which debug method should I choose and which options should I pass there?

    Thanks.

    #20941
    support
    Keymaster

    Hi,

    Yes, we are planning to release another toolchain update as we are adding support for the new CMake-based ESP-IDF. If the “-mfix-esp32-psram-cache-issue” is included in the mainline ESP32 toolchain sources, it will get automatically picked up during the update.

    We can also help you integrate the original ESP32 toolchain into VisualGDB if you could let us know the email associated with your license key so that we could verify your support status.

    #20942
    jsmith
    Participant

    Updated my profile – now it points to email associated with license. You can contact me at this email or simply reply here – IMO it could be interested for others too.

    #20970
    jsmith
    Participant

    We can also help you integrate the original ESP32 toolchain into VisualGDB

    Would be nice…

    #20971
    support
    Keymaster

    Hi,

    Sorry for the delay, the Espressif toolchain has a few rough corners we had to investigate before publishing the integration instructions.

    First of all, please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.4.3.2263.msi

    Then follow the instructions below to integrate the Espressif’s toolchain:

    1. Unpack the toochain to an arbitrary directory on your machine and create a toolchain.xml file there with the following contents:
      <?xml version="1.0"?>
      <Toolchain xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <ToolchainName>ESP32</ToolchainName>
       <ToolchainType>Embedded</ToolchainType>
       <PathDetectionKeyStrip>0</PathDetectionKeyStrip>
       <GNUTargetID>xtensa-esp32-elf</GNUTargetID>
       <BuiltInBSPs>
       <string>esp32-bsp</string>
       </BuiltInBSPs>
       <ToolchainID>com.visualgdb.xtensa-esp32-elf.external</ToolchainID>
       <BinaryDirectory>opt\xtensa-esp32-elf\bin</BinaryDirectory>
       <Prefix>xtensa-esp32-elf-</Prefix>
       <Make>make.exe</Make>
       <IsCygwinBased>true</IsCygwinBased>
       <GCCVersion>5.2.0</GCCVersion>
       <GDBVersion>7.10</GDBVersion>
       <LIBCVersion></LIBCVersion>
       <BinutilsVersion>2.25</BinutilsVersion>
       <Revision>1</Revision>
       <MinimumEngineVersion>5.4</MinimumEngineVersion>
       <Comments>ESP-IDF 3.0</Comments>
      </Toolchain>
    2. Copy the IDFCheckouts.xml file from our toolchain directory to the Espressif toolchain directory. This will ensure VisualGDB can find the esp-idf checkouts.
    3. Copy the esp32-bsp directory from our toolchain to the Espressif toolchain directory. This will get the debugging plugin to be recognized.
    4. Do not copy the esp-idf\v3.0 folder from our toolchain. Instead, create a recursive checkout of the Espressif repository manually using git from their toolchain. The 2 toolchains use different set of libraries and copying an existing checkout with prebuilt files will prevent the build from completing correctly. Also due to differences between the way git is installed in 2 toolchains, our ESP-IDF checkout manager won’t be able to use the git executable from the Espressif toolchain.
    5. Open the ESP-IDF project wizard. On the toolchain page select “find a toolchain by locating gdb.exe”, then change the filter from “*gdb.exe” to “toolchain.xml” and point to the toolchain.xml file in your toolchain. This will add it to the VisualGDB toolchain list.
    6. Create the project.
    7. Open the VisualGDB Project Properties and change the path style from /cygdrive/xxx to MinGW (/c/xxx).

    Now you should be able to build and debug the project as expected. Advanced functionality like opening the Cygwin shell might still not work though due to differences between toolchains.

    Hope this helps. Let us know if you run into any problems or need further details.

    #20975
    jsmith
    Participant

    First of all – thanks for your help. I really appericiate that.

    I did it like you advised with some modifications (adjusted existing workspace modifying $(Solution).xml, set of *.vcxproj, etc)

    -<ToolchainID>com.visualgdb.xtensa-esp32-elf</ToolchainID>
    =<ToolchainVersion>5.2.0/7.10/r9</ToolchainVersion>
    +<ToolchainID>4365939a-fe3e-467f-bd5b-fa8efeebad5a</ToolchainID>
    +<ToolchainVersion>5.2.0/(crosstool-NG/r0</ToolchainVersion>

    and similar changes in corresponding files to allow VGDB pickup OpenOCD from BSP.

     

     

    #20979
    support
    Keymaster

    Hi,

    That should work as well. As long as the GNUTargetID is set properly, the toolchain ID and version can be set arbitrarily – VisualGDB will still recognize the toolchain properly.

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