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 two short videos (registration required) highlighting:

System Workbench for STM32

Trouble debugging OpenOCD operations for possible semihosting failure

I’m using System Workbench to develop on a STM32F469 chip. Everything works pretty well for ordinary use and from Eclipse.

The challenge is running the multiple tests from the command line. The unit tests can take a lot of memory so there are dozens to run. This is being driven from a make system. The results of the unit test are passed back to the PC using semihosting. The semihosting opens a file and the results are written into it.

Some times, the debugger system just locks up. At this point, I can’t remotely debug the system or see what has happened. It’s always at the same point very early in the execution or just after the run starts.

In the makefile, the OpenOCD image from the System Workbench distribution is spawned to drive the ST-Link. THen gdb is started to have the program loaded and run. The debugging output (Logging) is turned on in both programs. The files always halt at the same point.

My suspicion is that something is going wrong with the semihosting. The debugging for OpenOCD is set to mas (-d4) and, yet, there’s no log statements from semihosting_common.c in even the wholly successful executions. Every file open/close/write should be noted in the log, from what I can tell.

What I’m wondering is if there’s a way to get the semihosting actions into the log.