Forum Replies Created
-
AuthorPosts
-
supportKeymaster
Hi,
Thanks for the link, we will investigate it and see if we can add similar functionality to VisualGDB.
supportKeymasterHi,
Please try using OpenOCD as it is more stable than Texane ST-Link.
supportKeymasterPlease add the following commands to the GDB Startup commands (after target selection) in VisualGDB Project Properties:
mon semihosting enable mon semihosting IOClient 2
Then call the initialise_monitor_handles() function in your main():
#include <stdio.h> extern "C" void initialise_monitor_handles(); int main(void) { initialise_monitor_handles(); printf("test\n"); }
Finally switch the GDB Session window to “All GDB Interaction” to see the semihosting output from the Segger GDB stub.
You can also change “IOClient 2” to “IOClient 1” to direct semihosting output to a telnet port 2333.
supportKeymasterThanks for letting us know. We usually update our STM32 libraries quarterly. We will ensure that the next update includes the latest Cube files for F0.
August 25, 2015 at 22:05 in reply to: nrf51 Proximity Sample – Error modifying project settings #6857supportKeymasterHi,
Please try relocating the BSP to a directory with a shorter path (e.g. c:\nrf51) as described in this tutorial: http://visualgdb.com/tutorials/arm/multiuser/
supportKeymasterAre you using OpenOCD or Segger software? Segger software should have their own implementation of semihosting (activated by “monitor semihosting enable” command).
August 20, 2015 at 18:10 in reply to: Cannot context-open header files included in the project, clang engine #6851supportKeymasterHi,
We tried reproducing your example, but could not get anything to fail. Hence I would assume that the problem is caused by some detail omitted in your message (e.g. relative paths, some extra spaces or tabs, file name lengths). If you could send us an archive with the exact files that fail for you, we should be able to fix it fairly fast.
Clang IntelliSense parses the entire project when:
- You search for a definition (not declaration with Ctrl-F12) of a function that is not defined in the current translation unit.
- The function is not static.
If this happens in some other case, please give us an example file and we should be able to fix it quickly.
We know that our IntelliSense engine has some bugs that are not present in Eclipse and that’s why we always ask for detailed repro steps that help us nailing down those bugs and fixing them. As long as we can reproduce the bug on our side, we typically release a hotfix within 24 hours. Hence if you could provide us with the exact file that causes the bugs on your side, most likely we will resolve it very fast.
supportKeymasterWe do not allow switching toolchains for existing projects because different toolchains have different settings formats and switching them may introduce serious bugs. We would recommend creating a new project and then importing the existing files into it. If you absolutely want to override the toolchain, you can edit the <mcu>.xml and <mcu>.mak files in your project directory replacing the references manually.
supportKeymasterHi,
Not sure why the double dash did not work for you, but it should be double. Here is a screenshot:
Together with unchecking the “provide default implementations” field (that sets –specs=nosys.specs), this results in the following build command line:
F:\SysGCC\arm-eabi/bin/arm-eabi-g++.exe -o Debug/stm32f4test.elf -Wl,-gc-sections --specs=rdimon.specs ... -lcompactcpp -Wl,--end-group
If the GUI does not work, you can try manually modifying LDFLAGS in debug.mak.
Regarding live variables. As a quick fix, if you are using OpenOCD, you can try connecting to port 4444 and sending OpenOCD commands (e.g. mdw <address> to read a DWORD), however you cannot do this if you are using live variables, as VisualGDB uses the same interface.
As a long-term solution, we are actually planning to add support for running tests with VisualGDB, so we could make a much higher-level interface. We would rather provide a framework for defining test functions with test asserts in your code (that will be normally ignored) and then add a special mode where VisualGDB will build a binary with the tests enabled and run the given subset of tests. Would that be more useful than just live variables API?
supportKeymasterHi,
Looks like the forum engine converted the dash incorrectly. Here is the correct option:
--specs=rdimon.specs
Please also ensure that the “provide default implementations for syscalls” checkbox is not checked.
Not 100% sure what you meant about fixed-length buffer API. Could you perhaps provide an example of a task you want to accomplish with it?
supportKeymasterHi,
Looks like the fix was incomplete. We have updated the R3 distro to include a hotfix resolving this. Let us know if it works.
supportKeymasterHi,
Could you please share the contents of the Makefile generated by Qmake?
supportKeymasterHi,
Normally the standard C library only flushes the printf() output when a newline is encountered, i.e. printf(“test”) will not print anything, but printf(“test\n”) will.
You can override this by either calling fflush(stdout) after printf() or adding the following call before printf():
setvbuf(stdout, NULL, _IONBF, 0);
If you are using newlib-nano, please add “–specs=rdimon.specs” to LDFLAGS to enable newlib-nano semihosting implementation.
If you want to do the formatting on the computer instead of the device, you would need to make a custom semihosting call handler plugin for VisualGDB. If you believe it is worth the effort, please let us know so that we could extend our SDK with API for implementing such plugins.
supportKeymasterHi,
We have fixed this in VisualGDB 5.0r3.
supportKeymasterGood to know. Let us know if it breaks again.
-
AuthorPosts