Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
Yes, you can use that link to download older BSPs. However VisualGDB should have showed a warning that the new SDK is not compatible and suggested regenerating BSP references that should update the library file paths. Did that not happen, or did it not help?
support
KeymasterHi,
OK, if the extern “C” is not the reason, you would need to have a detailed look at what exactly is being linked. Please identify one function that is reported unresolved and then do the following:
- Identify the file where it is defined
- Ensure via the build log that the file is linked into the final binary
- Using the nm tool from your toolchain double-check that the .o file actually defines the function and the name matches the error message
- If this does not help, enable the Map file generation and check the Map file to references to the function.
If nothing helps, please post your map file, your build log and the nm output here along with the function name you are tracing so that we could give further advice.
support
KeymasterHi,
It’s a known limitation and it happens because VisualGDB creates its projects as Makefile projects so Visual Studio can start an external build too when your select “Build All” or start debugging, but it does not have per-file control and cannot do a quick check whether rebuild is necessary. We do have long-term plans of resolving this, but it’s not clear yet whether we can fit it in the next release.
support
KeymasterHi,
If this helps, VisualGDB handles the virtual threads as follows:
- It queries your interface for the registers of each thread
- Then it forces gdb to set current register values to the ones reported by the stub
- Then it asks gdb to list the stack frames
You can diagnose the problem by checking the gdb log to see if VisualGDB sets the registers to the correct values before it asks gdb to list the frames.
GetVirtualThread() is called each time a break happens because VisualGDB does not know which of the threads are still alive.
You might be able to improve the performance if you run your gdb stub remotely, but use Windows gdb from one of our toolchains. It won’t affect the code you build (hence won’t break your certification), but will significantly reduce the latencies for gdb commands.
support
KeymasterHi,
Good to know. Once the next RTOS release is officially out, we’ll update our toolchain as well.
April 30, 2016 at 04:05 in reply to: Undefined reference to function / Cannot detect target name #8137support
KeymasterHi,
The first error can be caused by the missing ‘extern “C”‘ around the headers if you are using the function from the C++ code.
Regarding the second error, it is hard to tell without a screenshot. Please attach one and we should be able to help you.
support
KeymasterHi,
This makes sense. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.1.4.685.msi
It adds support for the EmbeddedThreadPlugin node in the Linux project properties similar to the embedded ones. Let us know if you encounter any problems with it.
support
KeymasterHi,
Thanks for the details, the CMakeLists.txt location is indeed read-only in this case as the wizard makes no distinction between the root source directory (that will be transferred during builds) and the root build directory (that contains CMakeLists.txt). It’s not very trivial to fix, so we have added a note in the 5.2 fix list, but won’t promise anything at this point. As a workaround you can create an empty CMakeLists.txt in the root directory, create the project and then change the CMakeLists.txt location via VisualGDB Project Properties.
Regarding the second missing file, it looks like a separate issue. Is VisualGDB importing the directory contents directly at the root of the project node (e.g. just <project>\main.cpp rather than <project>\dir1\main.cpp)? If yes, please try creating a new virtual folder for your directory, right-clicking on it and then selecting “Import a directory recursively” so that VisualGDB will import the directory contents there.
support
KeymasterHi,
Does the project output any errors to the console? Did you copy the code from the tutorials EXACTLY, or did you modify it? Perhaps you have accidentally bypassed some initialization?
Normally missing libraries should cause link-time errors, but not run-time issues.
Alternatively you can try the same project on a different VM (you can use Vagrant to just download a ready image with some recent OS in just a few clicks).
support
KeymasterHi,
Yes, the global settings like board type are managed per-project. However they are just convenient shortcuts for things stored in nrf5x.mak and debug.mak/release.mak, so you can simply take the -DPCAxxxx setting from nrf5x.mak and put it into per-configuration .mak files modifying each one individually. The only pitfall is that editing global settings in the GUI will regenerate the global .mak file.
support
KeymasterHi,
Yes, please try running it as root. If this does not help, double-check your camera connection, settings and try some other command-line tool for capturing images.
support
KeymasterNo problem. Enjoy VisualGDB 🙂
support
KeymasterThanks, we have reproduced it. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.1.4.684.msi
support
KeymasterHi,
Currently it is only supported with the Embedded projects that are built locally.Is there any reason you cannot setup a locally built project for your target?
We could also add experimental support for virtual threads to Linux projects if this helps.
support
KeymasterHi,
The easiest way to do that would be to just reinstall the toolchain to c:\ again. The installer will update the registry automatically.
-
AuthorPosts