Forum Replies Created
-
AuthorPosts
-
August 11, 2026 at 08:12 in reply to: Howto: VisualGDB JTAG Debug soft Hazard3 RISC-V on ULX3S FPGA #37367
gojimmypi
ParticipantI’ve updated the repo with two separate VisualGDB project files:
- Pure Windows-only RISC-V build (using xpack install in scripts directory)
- Mixed build using WSL RISC-V toolchain
https://github.com/ulx3s/Hazard3-Doom/tree/main/VisualGDB
There’s a complete getting started here:
https://ulx3s.github.io/ulx-doom/
September 27, 2025 at 09:53 in reply to: Espressif ESP-IDF v6.0 Intellisense error: invalid value gnu2b in -std=gnu2b #36922gojimmypi
ParticipantThe gnu++2b was in my (~ 27th of) August commits of the ESP-IDF, here in
esp-idf/tools/cmake/build.cmake.The most recent version exhibits a similar syntax highlighting problem, with a different root cause:
-std=gnu23here.My fix above does still work, although clearly a bit of a hack, needing an additional replace:
string(REPLACE "-std=gnu2b" "-std=gnu23" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")I’ll try to take the 6.1 for a test drive soon. Thanks for the heads up.
gojimmypi
ParticipantLooking forward to v6.1!
In the meantime, I have this in a batch file to launch VS2022 for unreleased ESP-IDF v6 (latest via GitHub)
@echo off set IDF_COMPONENT_STORAGE_URL=file:///C:/SysGCC/esp32-master/registry;default set IDF_PYTHON_ENV_PATH=C:\SysGCC\esp32-master\python_env\ set IDF_TOOLS_PATH=C:\SysGCC\esp32-master set CONFIG_WOLFSSL_USE_MY_PRIVATE_CONFIG=1 set CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX=1 rem Launch Visual Studio without making this console wait start "" "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.exe" %* exit /b
see also related Intellisense for ESP-IDF v6: https://sysprogs.com/w/forums/topic/espressif-esp-idf-v6-0-intellisense-error-invalid-value-gnu2b-in-stdgnu2b/
September 22, 2025 at 09:10 in reply to: Espressif ESP-IDF v6.0 Intellisense error: invalid value gnu2b in -std=gnu2b #36914gojimmypi
ParticipantHeads up the above solution only worked for my local project source code.
For other source code in my component being developed, as well as the entire ESP-IDF source, I added this to the main project cmake, just before the ending
project(projectname):if( "$ENV{CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX}" STREQUAL "1" ) if(DEFINED IDF_VERSION_MAJOR AND IDF_VERSION_MAJOR GREATER_EQUAL 6) message(STATUS "-- Found CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX, replacing -std=gnu2b with -std=gnu2x") if(CMAKE_C_COMPILER_ID MATCHES "Clang") string(REPLACE "-std=gnu2b" "-std=gnu2x" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") endif() else() message(STATUS "-- Visual Studio Intellisense Fix not needed for this ESP-IDF version=${IDF_VERSION_MAJOR}") endif() else() message(STATUS "-- Not replacing -std=gnu2b with -std=gnu2x for Viosual Studio Intellisense fix") message(STATUS "-- To enable, define environment variable: CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX=1") endif() # Once the project is loaded, next check for ESP-IDF version 6 or greater. # Numerous "dangerous relocation: call8: call target out of range: memcpy" errors encountered # So we'll allow long calls with the-mlongcallscompiler option for all components. if(IDF_VERSION_MAJOR GREATER_EQUAL 6) if(IDF_TARGET STREQUAL "esp32" OR IDF_TARGET STREQUAL "esp32s2" OR IDF_TARGET STREQUAL "esp32s3") message(STATUS "mlongcalls for all components") idf_build_set_property(COMPILE_OPTIONS "-mlongcalls" APPEND) endif() endif()Also added this to the local component in the project directory cmake, just after the
idf_component_register():if( "$ENV{CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX}" STREQUAL "1" ) if(DEFINED IDF_VERSION_MAJOR AND IDF_VERSION_MAJOR GREATER_EQUAL 6) message(STATUS "-- Setting -std=gnu17 with target_compile_options $<$:-std=gnu17>") target_compile_options(${COMPONENT_LIB} PRIVATE $<$:-std=gnu17>) else() message(STATUS "-- Visual Studio Intellisense Fix not needed for this ESP-IDF version=${IDF_VERSION_MAJOR}") endif() else() message(STATUS "-- Not setting -std=gnu17 with target_compile_options for Visual Studio Intellisense Fix") message(STATUS "-- To enable, define environment variable: CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX=1") endif()Note that it is optional code, based on the environment variable:
CONFIG_WOLFSSL_FORCE_V6_INTELLISENSE_FIX=1I’m note sure exactly which are needed, but in order for syntax highlighting to be reliably restored for me:
- Exit Visual Studio
- Delete
./builddirectory - Delete .
/visualgdbdirectory - Delete
./vsdirectory - Restart Visual Studio
gojimmypi
Participantfwiw, still occurring with the latest update today (ESP32 3.3.1) See attached
VisualGDB 6.0R8 (build 5338)
Looks like of the 170+ problems, included is at least the ESP Matter Connected Home stuff. Undesired to just ignore.
Perhaps an alternative install location can be used?
There’s a Windows fix that I personally choose not to use, as I also test my own distributions for other things:
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry
Attachments:
You must be logged in to view attached files.gojimmypi
ParticipantHeads up ESP-IDF v5.5 has been released.
https://github.com/espressif/esp-idf/releases/tag/v5.5
Beware: “Release v5.5 is mostly compatible with apps written for ESP-IDF v5.4.”
See the section: “breaking changes”
-
This reply was modified 1 year, 1 month ago by
gojimmypi.
gojimmypi
ParticipantHeads up the Espressif ESP-IDF v5.5 is now in beta:
https://github.com/espressif/esp-idf/releases/tag/v5.5-beta1
I was initially unable to get VisualGDB to use the new toolchain for the same cmake version issue described in my original message.
However, I found this topic from last year: “Problem on new ESP32 toolchain”:
https://sysprogs.com/w/forums/topic/problem-on-new-esp32-toolchain/
Specifically the link to “Troubleshooting”:
https://visualgdb.com/documentation/espidf/#troubleshooting
To resolve, I set my Tools – Options – VisualGDB – General – Python Directory (ESP-IDF) to
C:\Users\gojimmypi\AppData\Local\VisualGDB\Python-3.11.5-
This reply was modified 1 year, 2 months ago by
gojimmypi.
May 29, 2024 at 13:21 in reply to: Espressif ESP32 Staging Components Preview: fails to find component #35681gojimmypi
ParticipantThat seemed like a reasonable approach, although I was left wondering why system-wide environment value would not be “seen” by cmake?
In any case, it didn’t work.
(see attached). I still see the error:Requirement files:
- C:\SysGCC\esp32\esp-idf\v5.2\tools\requirements\requirements.core.txt
Python being checked: C:\SysGCC\esp32-master\python_env\\idf5.2_py3.8_env\Scripts\python.exe
Manifest files have changed, solving dependencies.
..-- Configuring incomplete, errors occurred!
CMake Error at C:/SysGCC/esp32/esp-idf/v5.2/tools/cmake/build.cmake:544 (message):
WARNING: Component "gojimmypi/mywolfssl" not foundERROR: Because project depends on gojimmypi/mywolfssl (^5.7.1-preview2f1)
which doesn't match any versions, version solving failed.Call Stack (most recent call first):Here it is in WSL using the same toolchain; first, the error is expected since there’s no release called mywolfssl
$ idf.py add-dependency "gojimmypi/mywolfssl^5.7.1-preview2f1"
Executing action: add-dependency
ERROR: Component "gojimmypi/mywolfssl" not foundHere it is setting the staging site environment variable:
gojimmypi:/mnt/c/workspace/esp32-homekit-demo-gojimmypi-pr/examples/led
$ export IDF_COMPONENT_REGISTRY_URL=https://components-staging.espressif.com
gojimmypi:/mnt/c/workspace/esp32-homekit-demo-gojimmypi-pr/examples/led
$ idf.py add-dependency "gojimmypi/mywolfssl^5.7.1-preview2f1"
Executing action: add-dependency
Successfully added dependency "gojimmypi/mywolfssl^5.7.1-preview2f1" to component "main"It then successfully builds using the staging instance of
gojimmypi/mywolfssl.Also, after attempting to build and revisiting the
IDF_COMPONENT_REGISTRY_URL=https://components-staging.espressif.comshown in the attached screen snip, when clicking on the newly createdIDF_COMPONENT_REGISTRY_URLvalue, Visual Studio became unresponsive and restarted.Other than this anomaly, VisualGDB is working great.
Attachments:
You must be logged in to view attached files.gojimmypi
ParticipantAha! Great! Thanks for the update.
I should add this is also quite helpful for installing multiple versions of the ESP-IDF toolchain:
February 19, 2024 at 09:57 in reply to: What is the official/recommended method for installing the latest EPS toolchain #35358gojimmypi
ParticipantIn my
C:\SysGCCI have manually installedC:\SysGCC\esp32-11.2andC:\SysGCC\esp32-8.4for the older toolchains, in addition to the default install ofC:\SysGCC\esp32which has version 12.1 of the toolchain.Inside each of *those* directories, I have different versions of the ESP-IDF SDK, for instance:
In my
C:\SysGCC\esp32\esp-idf, I performed “git clone [repo] [sdk name]” for these:esp-idf-v5.2-beta1
master
v5.0
v5.1That allows relatively each changing of SDK and toolchains. Be sure to delete the build directory and sdkconfig file when changing.
I’ve found that simply keeping different versions of the project file much easier than manually changing them to different SDK & toolchain versions, for example:
-
This reply was modified 2 years, 6 months ago by
gojimmypi.
gojimmypi
ParticipantHello,
I recently installed the 20231123 ESP32 Debug Methods update to VisualGDB.
The JTAG programming and debugging capabilities (ESP-IDF v5.1) seem to be working well for the ESP32-H2 now! Thank you.
There is however an oddity when pressing the “Debug – Test” button, indicating that the test failed:
Error: Error on socket 'GDB': WSAGetLastError==10054, message: An existing connection was forcibly closed by the remote host.I’ve attached the full log for reference. So far, it seems the error can be ignored.
Also, note that unlike other devices when doing
idf.py erase-flash, the ESP32-H2 is not in a happy state when freshly erased. Error “invalid header” scrolling endlessly. In this state I am unable to JTAG debug.Here’s an example of the console output after erase & JTAG will not work:
invalid header: 0xffffffff
invalid header: 0xfffff▒ESP-ROM:esp32h2-20221101
Build:Nov 1 2022
rst:0x7 (TG0_WDT_HPSYS),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x40011bdc
invalid header: 0xffffffff
invalid header: 0xffffffffUpon flashing a clean, operational “hello world” (or any other app) – then the JTAG capabilities work fine.
Thank you again for this fix.
Cheers
Attachments:
You must be logged in to view attached files.gojimmypi
ParticipantThere’s a recording of the “Getting Started with wolfSSL on the Espressif ESP32” here:
gojimmypi
Participantawesome, thank you 🙂
gojimmypi
ParticipantESP-IDF 5.1 has been released: https://github.com/espressif/esp-idf/releases/tag/v5.1
gojimmypi
ParticipantI’ve setup wolfSSL as a managed component.
I’m hoping to use other components such as the esp-cryptoauthlib.
Components are added to a project like this:
idf.py add-dependency "espressif/esp-cryptoauthlib^3.5.1~1"It appears the only thing that command does is to add/update the project
idf_component.ymlfile.Subsequent calls with
idf.py buildappear to recognize that component file, download required files to themanaged_componentsdirectory, and compile everything.However, from within the VisualGDB environment, nothing new seems to happen at compile time: The IDE does not seem to recognize the ESP Registry components in the
managed_componentsdirectory.I wasn’t able to find any VisualGDB documentation on this. It this capability supported? I’m using EDP-IDF v5.
Thank you
-
AuthorPosts