support

Forum Replies Created

Viewing 15 posts - 2,671 through 2,685 (of 7,828 total)
  • Author
    Posts
  • support
    Keymaster

    Arduino libraries use a rather specific sematics (including one header file automatically pulls the entire library) and hence only work out-of-the-box with the Arduino project builder. This is fully supported and works out-of-the-box when using the Arduino Project Subsystem.

    The ESP-IDF projects are based on a different framework that is not 100% compatible with the Arduino ecosystem. It is possible to add the Arduino core to ESP-IDF projects because Espressif has specifically designed their ESP32 core to be both a valid Arduino core and a valid ESP-IDF component that can be imported into ESP-IDF projects. This does not mean that any Arduino library can be automatically added to ESP-IDF projects without any adjustments, because the ESP-IDF build system is still different from the Arduino build system.

    In order to import an Arduino library to an ESP-IDF project, it needs to be manually converted to an ESP-IDF component. Once you have performed the conversion, you can add the component to the project by selecting Add->Existing Item in Solution Explorer->Project->Components.

    support
    Keymaster

    Sorry, if you need help understanding the role of libraries and components in ESP-IDF projects, please contact Espressif for further support.

    We can help you locate specific VisualGDB settings that correspond to specific properties of the components, however we are not able to offer help understanding the inner workings of ESP-IDF or other 3rd-party frameworks that are not directly maintained by us.

    support
    Keymaster

    Hi,

    The “debugging exited without any breakpoint hits” error was caused by incorrect propagation of CMAKE_C_FLAGS that might got cached on your side. Please try deleting the entire VisualGDB\Debug directory and rebuilding the project.

    If the breakpoint still doesn’t work please try hardcoding asm(“int3”) in the main() function to trigger an unconditional breakpoint. If the breakpoint triggers, but the source code is not shown, please double-check that the build.ninja file contains the -g”, tine FLAGS statement for the main file, e.g.:

    build src/CMakeFiles/openocd.dir/main.c.obj: C_COMPILER__openocd ../../src/main.c || cmake_object_order_depends_target_openocd
        FLAGS = -std=gnu99 -Werror=incompatible-pointer-types -g -DPKGBLDDATE=\"2019-10-08\" -DRELSTR=\"\" -DGITVERSION=\"\"
    in reply to: How to create a *.axf-File with Visual GDB #26182
    support
    Keymaster

    Hi,

    Although we have not specifically checked the inner workings of Simplicity Studio, the AXF extension does typically correspond to the regular ELF files.

    Indeed, you can override the file extension via VS Project Properties, although due to the internal VS limitations the default extension needs to be the same for all project types, hence we picked the Linux-style empty extension as the default.

    The “-g” option should normally not affect the linking and is only used during compilation, hence VisualGDB does not pass it to the linker. You can override this behavior via VS Project Properties -> Linker -> Command Line.

    That said, the VisualGDB-level command line you mentioned is missing a linker script (the .ld file) that should be normally picked automatically once you select a device in the VisualGDB wizard. If this is a manually created stand-alone project, please ensure you have a linker script specified on the first page of VisualGDB Project Properties (and also ensure you have the -mcpu, -mfpu and -mfloat-abi passed to the linker as well, as those options affect the type of the pre-built standard C library used to link the executable).

    in reply to: ESP-IDF, how to rename a project? #26181
    support
    Keymaster

    Hi,

    Sorry, the fully automatic renaming of the ESP-IDF projects is not yet supported. Hence, you would need to edit the Makefile (or CMakeLists.txt file if your are using CMake) in your project directory manually in order to rename the project. Simply search for the project name in that file, replace it and save the file. VisualGDB should automatically reload the project structure and show the new name.

    support
    Keymaster

    Hi,

    For Arduino projects please use the first page of VisualGDB Project Properties to manage preprocessor definitions and other global options.

    For ESP-IDF projects please use the VS Project Properties of a specific ESP-IDF component to define exported preprocessor macros (those macros will apply to all components in a project, not just the selected component). You can access the properties of the main component via the Properties command for the project node itself.

    support
    Keymaster

    Hi,

    ESP-IDF projects do not use automatic library discovery like Arduino ones and require the libraries to be wrapped as ESP-IDF components. You can read more about the components in the ESP-IDF documentation. Once you get an understanding of the component structure you need for your project, simply use VisualGDB’s Add New Item command in the component list to create the necessary components.

    in reply to: Better FreeRTOS debugging like NXP #26166
    support
    Keymaster

    Hi,

    It is still on the roadmap, however it is hard to give any estimates currently, we are prioritizing a few other features over it, sorry.

    in reply to: ESP32-IDF missing components in overview #26164
    support
    Keymaster

    Thanks for the repro. We have added this to our investigation queue, however due to the current amount of investigated issues and their priorities, it may take 2-4 weeks to fully process this.

    in reply to: How to create a *.axf-File with Visual GDB #26163
    support
    Keymaster

    Hi,

    The .axf extension is used by the Keil compiler for the ELF files. VisualGDB follows the Linux naming convention for the built files, hence the ELF files it produces have no extension. I.e. you can find an equivalent of the AXF file for your project under the following path:<Project Directory>\VisualGDB\Debug\EmBGM13P22F512GA_Test01.

    The .rsp files are used to pass the command lines of the tools, avoiding the Windows command line length limitation of 8192 characters. They do not contain any code or symbols on their own.

    support
    Keymaster

    Sorry, it looks like you did not add “VERBOSE=1” to the GNU Make command-line arguments (see our previous reply), hence Make did not dump the gcc command lines.

    Please try adding it as suggested and share the updated log that should include the exact gcc command lines used to build the code.

    in reply to: MBED OS 5.14 update #26157
    support
    Keymaster

    Hi,

    Yes, simply use the Advanced Mbed Project Subsystem and you should be able to use the latest mbed version out-of-the-box.

    in reply to: ESP32-IDF missing components in overview #26153
    support
    Keymaster

    Unfortunately, it’s hard to suggest anything specific without knowing the exact steps to reproduce the problem.

    Please describe the steps required to reproduce it, starting from creating a new project (see this page) and we should be able to suggest what is going on.

    in reply to: ESP32-IDF – setting #define on a per config basis #26147
    support
    Keymaster

    Hi,

    The easiest way to achieve this would be to use the CMake-based projects and add the following constructs to the CMakeLists.txt files:

    if (CMAKE_BUILD_TYPE EQUAL "DEBUG")
    set(CONFIG_SPECIFIC_MACROS CONTROL2)
    endif()
    

    and then simply add ${CONFIG_SPECIFIC_MACROS} to the regular list of preprocessor macros via VS Project Properties. This will affect both build and IntelliSense.

    If it doesn’t work, please let us know and we will help you configure everything.

    support
    Keymaster

    Strange. Please try enabling verbose build (add “-v” to Ninja command-line arguments or “VERBOSE=1” to GNU Make command line arguments via VisualGDB Project Properties -> CMake Proejct Settings -> Ninja/Make command) and then build the project again.

    It will show the exact command lines used by the build system for each file. Please locate the command line for any file from that library and check what is going on (e.g. ${CMAKE_SYSROOT} got expanded incorrectly, or the path is not present in the command line at all).

    If you are not sure, please post the corresponding command line from the build log and your updated target_include_directories() statement and we will help you understand it.

    P.S. You can also try using our CMake Debugger to quickly understand what is going on. It allows stepping through CMake statements and will evaluate variables like ${CMAKE_SYSROOT}.

Viewing 15 posts - 2,671 through 2,685 (of 7,828 total)