Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
In order to support the .textqspi section, you will need to edit the linker script:
- Go to the Makefile Settings of VisualGDB Project Properties, find the “linker script” field, click “create a local copy”.
- Find the MEMORY section and add the QSPI entry there specifying the address and size of the QSPI memory on your device
- Find the statement that places the .text section into FLASH. Copy it replacing .text with .textqspi and FLASH with QSPI. This will place the img6 variable into the QSPI memory.
Note that this will make your code expect the variable to be placed into the QSPI FLASH, but won’t instruct OpenOCD to program the QSPI memory. You will need to program the QSPI memory separately using the STLink tool (you can extract the contents of the .textqspi section from the ELF file into a separately programmable binary file by running the following command:
arm-elf-objcopy -O binary --only-section=.textqspi project.elf qspi.bin
support
KeymasterIf you can otherwise connect to the board (e.g. with SmarTTY), the USB cable should be OK. Most likely the problem is caused by insufficient permission on the /tmp folder.
Can you upload files there using SmarTTY? If yes, could you share a screenshot of the error displayed by VisualGDB?
support
KeymasterHi,
Please use the Debug->Windows->Remote Program Console command. Note that unless a remote debugging is active, this command will not appear.
support
KeymasterHi,
Sure, please share the gdb log showing the commands VisualGDB is issuing and the GDB responses so that we could help you figure out why programming is broken.
support
KeymasterHi,
The settings should normally be merged. Can you attach an archive of a sample project where the settings are not propagated properly?
support
KeymasterHi,
If the file is on Windows machine in a directory specified as the source directory via VisualGDB Project Properties, VisualGDB will transfer it automatically.
If not, please double-check the name and location of the file and your current file transfer settings.
support
KeymasterHi,
Sorry for the confusion. Did I understand you correctly that:
- Building of your project produces a valid executable, but shows the “The system cannot find the path specified” error
- Manually deploying and running the project works
- Debugging your project works
- Testing toolchain fails at the “importing specs” stage and IntelliSense does not get configured properly
If yes, please try adding “-d” to the GNU Make arguments on the Build Settings page of VisualGDB Project Properties. This should force GNU Make to print detailed log on every action it is doing, hopefully revealing what is causing the error message.
If the debugging actually does not start, please enable verbose mode in Tools->Options->VisualGDB->General->Tweaking, start debugging and check for detailed error messages. You can also check the VisualGDB Launcher Output in the Output pane in Visual Studio. Do any of those places contain any extra information about the problem?
November 15, 2015 at 19:13 in reply to: VisualGDB build variables remain unresolved during toolchain test #7231support
KeymasterHi,
The VisualGDB variables are only resolved directly in command lines. Variables that are saved in Makefiles will not be resolved unless you specify them explicitly in Make command line (e.g. make SourceDir=$(SourceDir)). That said, you don’t need to use the $(SourceDir) in your settings. Simply specify the relative paths (e.g. subdir/LinkerScript.lds).
support
KeymasterHi,
There is currently no standard way of doing this, so we would recommend one of the following:
- Use a source control system like Git or SVN to merge the changes from Linux and Windows
- Use SmarTTY to download the entire source folder or individual files from your Linux machine
- Add a custom shortcut via VisualGDB Project properties to download the source folder and then use the VisualGDB toolbar to invoke it quickly (requires Custom or Ultimate edition)
support
KeymasterHi,
The settings from VisualGDB Project Properties are saved in debug.mak/release.mak, while esp8266.mak contains settings that are common for all configurations.
Please double-check the settings in debug.mak and see if they are actually included in compilation command line.
support
KeymasterHi,
It’s hard to guess what exactly went wrong, but reasons could vary from files simply not rebuilding to some typos in the preprocessor macros.
We would recommend something like this:
- Add a static variable pre-initialized to a certain string (e.g. “test123”), use this variable from user_init() so that it gets referenced. At the same time comment out the call to gdbstub initialization.
- Does the binary image contain your string (test123)? If no, it did not get rebuilt properly. Note that the ESP8266 .bin images are only rebuilt when you start debugging with VisualGDB, not when you build the project.
- Do you still get the gdb stub message? If yes, some other code is calling it. Perhaps user_init() is defined in 2 different places and one takes precedence over the other one?
The JTAG debugging would be held by gdbstub because gdbstub essentially installs a handler to some debug-related interrupts, then triggers an interrupt and that interrupt handler waits for a reply via the COM port. The JTAG debugger does not prevent interrupts from being handled, i.e. the stub will still catch it and start waiting for gdb to attach. Once gdb attaches, however, you can still use the JTAG debugger to see what’s going on inside the stub and inside your code.
November 13, 2015 at 21:04 in reply to: Debugging impossible when timer interrupts are enabled #7219support
KeymasterHi,
You can try using the OpenOCD’s “cortex_m maskisr” command to disable interrupts during stepping as described here: http://openocd.org/doc/html/GDB-and-OpenOCD.html
However this will not work when using high-level debug adapters like ST-Link.
November 13, 2015 at 20:52 in reply to: Building STemWin_HelloWorld on STM32F7 Discovery board #7218support
KeymasterHi,
Looks great, thanks for sharing this!
support
KeymasterHi All,
Normally you don’t need to install any new packages on your Pi as long as your ld.so.conf is set correctly and the /opt/vc directory is synchronized.
We have added troubleshooting instructions to the step 16 of the tutorial: http://visualgdb.com/tutorials/raspberry/qt/embedded/
Let us know if you run into further problems.
support
KeymasterHi,
OK, then the problem must be elsewhere. Please double-check your FLASH type setting (dio/qio/etc) in VisualGDB Project Properties.
Please also try manually programming the <project>-0x40000.bin and <project>-0x00000.bin files from the Debug directory using the bootloader and esptool.py.
If the LED blinks in that case, something goes wrong with programming the FLASH over JTAG. If the LED does not blink (but blinks when you are using the GDB stub), something about the images is corrupt and the next step would be to compare the images produced when using the OpenOCD debug method with the images produced from the same ELF file when using the gdb stub.
-
AuthorPosts