Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


GDB will not connect to OpenOCD session.

Hello,

I’ve been trying to get libuavcan setup through SW4STM32, and I’ve been using STM32CubeMX to generate my peripheral initialization.

This involves converting to a C++ project and adding some -Ddefines to the build config. However, I have got it built. I can upload to the board, however debug does not work.

I have verified debug works with a new test project.

I have also been able to manually connect to the board (a NUCELO-F103RB), using GDB and the provided OpenOCD script. (One note is that I’m not using the provided GDB as my installation is unable to find the provided binary. I have linked to my system gdb, which, again, works completely)

The debugging configurations between the non-working project are practically identical.

Here is the console output from OpenOCD:

Open On-Chip Debugger 0.10.0-dev-00011-g46c94c8 (2018-09-06-08:38)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Warn : Could not determine executable path, using configured BINDIR.
none separate
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter_nsrst_delay: 100
adapter speed: 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2.1 JTAG v29 API v2 M18 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.247706
Info : Stlink adapter speed set to 950 kHz
Info : STM32F103RBTx.cpu: hardware has 6 breakpoints, 4 watchpoints

At this point it will simply terminate.
The GDB console output isn’t much help either:

GNU gdb (7.10-1ubuntu3+9) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “host=x86_64-linux-gnu target=arm-none-eabi”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type “help”.
Type “apropos word” to search for commands related to “word”.

Again, another configuration, using the same versions of GDB and OpenOCD, as well as a nearly identical OpenOCD and debugging configuration (only difference is the board names) works completely fine, as well as manually connecting with GDB.

I’m not sure how to proceed from here. Are there any files I should be checking that aren’t the openOCD config?

So I solved the issue.

I was using an external (64-bit version of GDB)

Apparently that doesn’t work.

The solution was to solve the dependency issues that were leaving me unable to use GDB.