Forum Replies Created
-
AuthorPosts
-
March 19, 2020 at 03:55 in reply to: Different Embeeded Frameworks for different build targets #27700
support
KeymasterThanks for the suggestion. We are currently experimenting with a new CMake-based embedded project subsystem that is more flexible than the existing MSBuild-based one, and will try to include support for target-specific configuration for embedded frameworks in it.
As a short-term workaround, please consider cloning the Fixed Stack-Heap framework and placing it under %LOCALAPPDATA%\VisualGDB\EmbeddedEFPs under a new ID/name (see how the profiler framework is defined for a quick example). Then you can remove FIXED_STACK_SIZE=$$com.sysprogs.bspoptions.stackheap.stacksize$$ from the AdditionalPreprocessorMacros element and instead define it via regular per-configuration project properties.
support
KeymasterSorry, this is a known limitation of the advanced semihosting. It works by continuously polling a designated memory area (semihosting buffer) to detect when new data is written there, and it won’t work if that area is moved during runtime (that would happen when transitioning from the bootloader to the main application).
As a workaround, please consider using the regular semihosting from the bootloader, and the advanced semihosting from the main program.
support
KeymasterNormally, VisualGDB would automatically discard the saved window positions when the screen layout changes. If not, we should be able to fix it.
First of all, please try the following steps to verify that the problem is related to the multiple screens:
- Verify the VisualGDB Project Properties are broken.
- Close all VS instances.
- Delete the %LOCALAPPDATA%\VisualGDB\GUIPreferences.xml file
- Start VS again and verify that the VisualGDB Project Properties work.
If deleting the GUIPreferences.xml file solves the problem and the problem happens again, please share the contents of GUIPreferences.xml:
- Before you delete it (i.e. when it contains invalid settings).
- After it is recreated next time you use it (i.e. when it contains valid settings).
support
KeymasterThanks for confirming it. Just to double-check, please share a screenshot of the menu command you are using to open VisualGDB Project Properties (the screenshot should include the entire VS window as it may contain important clues).
Please also check View->Other Windows->VisualGDB Diagnostics Console (you would need to enable diagnostic logging before trying to open project properties). It might contain important clues about the error.
support
KeymasterSorry, it looks like your technical support has expired. We could help you resolve the issues you encountered, however we would kindly ask you to renew the support first.
Alternatively, please refer to the following pages for generic instructions on getting old versions:
support
KeymasterHi,
Please try updating to VisualGDB 5.5 Preview 4. It will automatically check for missing packages when loading the project and will suggest automatically downloading/installing them.
support
KeymasterGood to know it works. BTW, we have a detailed tutorial showing the necessary steps here: https://visualgdb.com/tutorials/linux/cmake/target_link_libraries/
Please also feel free to try VisualGDB 5.5 Preview 4. It can automatically troubleshoot the “undefined reference” errors and suggest the necessary configuration changes.
support
KeymasterNo problem, we will explain what is going on.
The VS property sheets have similar semantics to the #include and #define directives of the C/C++ compiler:
- The <Import> tag in a .vcxproj file (or in a .props file) is a rough equivalent of the #include directive.
- The <PropertyGroup> tag is a rough equivalent of a group of #define-s
- The Condition attribute on <PropertyGroup>, or a specific property, is equivalent to wrapping the #define-s with #ifdef/#endif
In order to understand why some properties get overridden, please locate all locations where they are defined (including the VisualGDB’s MSBuild directory and toolchain.props) and reconstruct their order by tracking the <Import> tags. E.g. if the project first imports a property sheet, and then defines the same property in a property group, the project’s property group will override the value from the property sheet. If the property sheet is imported after the definition in the .vcxproj file, it will override the regular definition.
You can also work around this by using the following syntax in the property sheet file:
<PropertyGroup> <MyProperty Condition="'$(MyProperty)' == ''">NewValue</MyProperty> </PropertyGroup>
This will only set MyProperty to NewValue if it was unset at the time when the corresponding PropertyGroup was parsed.
The default values shown in the VS GUI are taken from the Microsoft.Cpp.Default.props file that in turn includes the SysprogsPlatform.default.props. If you would like to modify them, consider importing your own property sheet right after (or before) Microsoft.Cpp.Default.props.
support
KeymasterHi,
Most likely, some MSBuild-specific files are corrupt. Please try checking the following:
- Do VisualGDB Project Properties work for a newly created project? If yes, please try comparing it against the broken one.
- Regardless of #1, try holding Shift while right-clicking on the project. This will force the VisualGDB Project Properties command to appear even if VisualGDB does not recognize the project.
- Also try opening the regular VS properties for the project or try building it. This might show a more informative error message.
March 16, 2020 at 15:24 in reply to: Disable messages from background processes in debug output window #27659support
KeymasterThanks, it indeed looks like something coming from the gdbserver (gdb/gdbserver/server.c):
fprintf (stderr, "Detaching from process %d\n", pid);
If you are not comfortable patching/rebuilding it, simply ignoring the message should be the best way.
support
KeymasterOur best advice would be to try the Olimex ARM-USB-OCD-H JTAG debugger that is shown in the tutorial and make sure the wiring exactly matches what is shown in the tutorial.
support
KeymasterMost likely, you ended up with an incompatible toolchain/ESP-IDF combination. Please see this page for a detailed explanation.
support
KeymasterThose settings are defined inside the <PropertyGroup> statements and can also be copied into the property sheet files. Simply copy the <PropertyGroup> statement from the .vcxproj file (removing the Condition attribute) into the property sheet file, and the properties will get applied as if they were defined in the .vcxproj file.
support
KeymasterHi,
It looks like your technical support has expired. Please renew it here and we will help you understand how VisualGDB structures the STM32 projects and how to troubleshoot this type of issues.
support
KeymasterNo problem, we can help you set it up then. Most likely, you are using different ESP-IDF/toolchain combinations with and without VisualGDB, leading to different results.
In that case, we would advise importing the working toolchain into VisualGDB as described in this post.
If it doesn’t help, please try importing an otherwise working project into VisualGDB using the same toolchain/ESP-IDF and describe what exactly happens when you try to build it manually vs. with VisualGDB. We will then help you replicate the manual build results with VisualGDB.
Regarding supported versions, visualGDB supports ESP-IDF versions up to 4.0 (the latest official release). You can download ready-to-use toolchains together with the compatible ESP-IDF checkouts from our ESP32 toolchain download page. We will support v4.1 once it is officially listed as a stable release on the ESP-IDF releases page.
-
AuthorPosts