support

Forum Replies Created

Viewing 15 posts - 3,811 through 3,825 (of 7,857 total)
  • Author
    Posts
  • in reply to: Question about Code Coverage configuration #22445
    support
    Keymaster

    Hi,

    Yes, please try using variables like $(ProjectDir). You can see the full list of variables by clicking the link at the bottom of the project properties window.

    in reply to: Several questions on remote linux debugging #22444
    support
    Keymaster

    Hi,

    Just to ensure we are on the same page, could you please summarize the current state of the problem with NMake paths? I.e. what you are trying to achieve and what you are observing.

    We have also rechecked variable expansion in both path mappings and gdb commands and could not reproduce any errors. Please let us know the exact steps to reproduce the behavior you are observing and we will help you get it to work.

    in reply to: Cross-compilation, CMake and Symlinks #22443
    support
    Keymaster

    Hi,

    The post-build steps can run on any machine of your choice – they are fully customizable. If you are currently using VisualGDB trial, this feature should be already enabled. If you have already purchased a Linux edition key, please contact our sales to get a trial extension voucher so you could try out the Custom edition features.

    Supporting “make uninstall” out-of-the-box would be tricky. As CMake scripts run on the Windows machine, it would involve running it locally, recording the exact steps it does trying to replay them on a remote machine (or simply removing all files previously installed by VisualGDB). We might be able to eventually support it, but given the complexity and the limited scope of this, it won’t be included in v5.4, sorry.

    That said, we can help you setup the correct custom actions to do the uninstallation as a custom shortcut. Let us know if you run into any difficulties and we will help.

    in reply to: Print Memory usage report in function of linker sections #22442
    support
    Keymaster

    Hi,

    Thanks for clarifying it. Unfortunately it would’t work to not count the space between the symbols, as in most of the cases such space is wasted due to alignment constraints, or contains unnamed data from assembly files, and hence should be counted towards the used space.

    Instead, please consider one of the following approaches:

    • Instead of having fixed-size sections extended until the end of the 62K block, have a variable-size section followed by a dummy section marked with the NOLOAD attribute filling the rest of the space. The NOLOAD sections will be automatically excluded from the memory usage statistics.
    • Simply place sections non-sequentially. You can use the “. = <address>” syntax in the linker script to place the next section at a fixed address.
    • Split the FLASH memory in your linker script into 3 separate memories and place the sections accordingly. Again, ensure that the sections are not extended beyond the actual end of the last symbol.
    in reply to: How to open semihosting window? #22433
    support
    Keymaster

    Hi,

    Normally this should be sufficient. As a quick check, please try creating a new “LEDBlink” project, calling printf() from it and referencing the fast semihosting framework. If it does work, please recheck the differences between the test project and your original project.

    Another option is to try setting a breakpoint in the WriteRawFastSemihostingData() function and stepping through it to see if s_FastSemihostingState gets modified properly.

    in reply to: STM32CubeMX project import and assembly file #22431
    support
    Keymaster

    Hi,

    Sorry, the assembly file syntax used by IAR and GCC is completely different, so most of the assembly files would need to be heavily rewritten. It should not be related to using Make or MSBuild, just the syntax inside the assembly file.

    That said, if the files come from the ST’s SDK, there should be equivalent versions of them for the GCC compiler. If you are not sure, please let us know what exact assembly files do not build (i.e. full path to the file and its contents, if possible) and we can advise on finding a GCC-compatible replacement.

    in reply to: Cross-compilation, CMake and Symlinks #22430
    support
    Keymaster

    Hi,

    You should be able to add it via VisualGDB Project Properties -> Build Customization -> Post-Build Steps (requires the Custom edition).

    Although CMake itself doesn’t support uninstalling targets (and it won’t work for the deployed files), you can add a custom shortcut (will appear under the Project menu when your project is active) via VisualGDB Project Properties that will run arbitrary commands of your choice (e.g. deleting a specific set of directories).

    With the forum subscription, we had issues with it before due to email servers treating the notification emails as spam. We have re-enabled it for now, but we may have to turn it off again if the problem with the mail servers returns.

    in reply to: Cross-compilation, CMake and Symlinks #22423
    support
    Keymaster

    Hi,

    Good to know it works. Sorry, our interface for viewing the tutorials doesn’t show the changes, as the old steps won’t be relevant for the users that started with the new version of the tutorial.

    We have modified the publishing date to make it explicit that the tutorial was updated.

    in reply to: mBedos import issue #22421
    support
    Keymaster

    Hi,

    If the project is msbuild-based, the static library project can be built without a .vgdbsettings file, hence you can simply keep the original files and not change anything.

    in reply to: Several questions on remote linux debugging #22416
    support
    Keymaster

    Hi,

    Thanks for confirming the bug with the solution folder. We have fixed it in this build (please note that it contains an incomplete experimental feature of Clang IntelliSense that might cause random crashes).

    Regarding the VS configurations manager, please double-check that you are using the correct platform. We have a detailed tutorial showing various supported combinations here:  https://visualgdb.com/tutorials/porting/multiplatform/

    Normally just editing multiple projects at once via VS project properties should work.

    Also if this is remotely possible, please consider switching your projects to use CMake. The VisualGDB’s Advanced CMake Project Subsystem supports multiple targets per project and can automatically edit the CMake scripts for you, while providing familiar MSBuild-like property pages for common CMake properties. It also eliminates the need to maintain VC++ projects duplicating the underlying Linux projects, as it queries the precise project structure from CMake and renders it in Solution Explorer. It will also store common build/debug settings for all targets in one .vgdbcmake file, while letting you specify per-target settings (e.g. deployment options). Finally, it comes with a CMake script debugger, so if your projects involve custom build steps, you can easily troubleshoot them by literally stepping through the build scripts in debugger. You will also enjoy faster build times if you are using it with the Ninja build tool (it’s much more heavily optimized than GNU Make).

    We do realize that switching the build system is a considerable effort, however based on the issues you have described so far, it may actually pay off as it will eliminate most of the problems you have mentioned.

    You can find a quick overview of the Advanced CMake Subsystem workflow here: https://visualgdb.com/tutorials/linux/cmake/

    in reply to: Flashing Arduino Zero Clone does not work #22415
    support
    Keymaster

    Hi,

    Thanks for sharing the 100% repro steps. We have managed to reproduce it on our side and it looks like a bug in the Visual Studio itself.

    We have submitted a bugreport with the narrowed down repro steps to the Visual Studio Developer Community. Please feel free to upvote it there if you find the bug annoying.

    in reply to: mBedos import issue #22412
    support
    Keymaster

    Hi,

    No problem.

    @maras: The easiest way to split the project would be to copy the .vcxproj file, replace the project GUID in the copied one, add the second project to the solution, switch its type to static library (via VS Project Properties), reference it from the main project. Then make a copy of both .vcxproj files and do the actual splitting – remove roughly a half of the sources from the first project and remove the remaining sources from the second one. If the same problem reoccurs, please restore the backup copies and try a different split (e.g. only the file with main() in the main project and the rest of the source files in the other project). Let us know if you run into any issues with it and we will help.

    @phildimond: Thanks for sharing your concerns. We will try to clarify this and help you find the best solution. VisualGDB itself doesn’t provide a “platform” – instead it provides a common set of development/debugging tools that work on many 3rd-party frameworks (e.g. STM32Cube, NXP McuXPresso, ESP-IDF, Arduino, mbed, …). Not sure what you meant by going back to the manufacturer’s platform – the VisualGDB projects are usually based on the manufacturer’s platforms.

    VisualGDB can also be easily configured to build/debug projects with any other framework – simply import it as an external project and you will be able to use the debugger (immediately) and IntelliSense (after configuring include directories). You can use this approach to import a project built with either mbed-cli or PlatformIO and still develop/debug it with VisualGDB. The only difference compared to the upcoming advanced mbed subsystem is that you will have to tell VisualGDB the command line to build the project, configure IntelliSense directories and edit the configuration scripts manually when you need to make changes to your project (the advanced mbed subsystem will provide GUI for common configuration settings). This is fully covered by our tech support, so feel free to create another thread sharing any issues you encounter and we will walk you through getting it to work.

    As for the PlatformIO IDE, it is built on top of the Electron platform (i.e. is essentially a Web App running inside a separate browser instance). This makes it truly cross-platform, however it also inherits all the drawbacks of browser-powered applications like slow performance and complications making large-scale GUI. VisualGDB is built on top of a different technology, so it features much more detailed code analysis logic, works much faster and provides convenient and detailed GUI for common scenarios, regardless of the underlying platform you choose.

    Hope this explains. Let us know if you have any further questions and we will be happy to help.

    support
    Keymaster

    Hi,

    Sorry about that, it should indeed be ItemGroup. When placed inside a target, it will work the same as ItemDefinitionGroup works normally.

    Good to know it works and let us know if you encounter any further issues.

    in reply to: Several questions on remote linux debugging #22405
    support
    Keymaster

    Hi,

    Please try updating to VisualGDB 5.4 Preview 7 if you are not using it yet. It will ask whether you want to inherit the project settings from the startup project when you attach to your executable.

    Another option would be to select “Attach” in VisualGDB Project Properties -> Debug Settings and use the regular F5 shortcut to start debugging.

    Both options will honor the extra gdb commands added via VisualGDB Project Properties and custom path mappings.

    You can use the regular VC++ (non-Clang) IntelliSense on imported projects as well, although using Clang IntelliSense makes it easier (e.g. it can search for missing headers and automatically insert the missing directories into project properties).

    The virtual folder bug looks like something that was fixed in v5.4. Please let us know if you can still reproduce the problem after updating to this version.

    in reply to: Cross-compilation, CMake and Symlinks #22404
    support
    Keymaster

    Hi,

    Sorry for the confusion. Indeed several internals of OpenCV have changed since we published the tutorial.

    We have updated the tutorial to reflect the latest OpenCV version, and also added a few usability improvements to VisualGDB (like automatic deployment of the binaries installed by CMake). Please try this build and follow the updated tutorial from the beginning. It should be much easier now.

Viewing 15 posts - 3,811 through 3,825 (of 7,857 total)