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


[SOLVED] Cannot debug projects after SW4STM32 upgrade to Version 2.3

A couple of days ago I ran the “Check for Updates” in SW4STM32 and saw the advise to download and install the new 2.3 version.
So I decided I had time between activities to install the update.
Everything seemed to go well it started up and I could open my projects. All looked good.

Today I discovered I can no longer debug any of my projects.

Target Information is empty and I cannot select an MCU or Board.
The GDB and OpenOCD setup panels are also empty and I see Error and warning ybols int he Configuration Script panel
At the top of the Debug Configurations dialog are the message:
This debug configuration is not associated to a MCU Project
Gdb command not specified

I’ve seen message saying I need to select the MCU in the Target Tab of Project Properties -> C/C++ Build -> Settings.
But my project has no Target Tab. None of my projects do. They never have.
The only tabs are “Binary Parsers” and “Error Parsers”.

Clearly this MCU setting a new feature of the SW4STM32 environment.

Anyone know where the documentation is for updating projects from older versions of SW4STM32 to work properly under version 2.3?

Andrew.

France

Hello Andrew,

First : getting “This debug configuration is not associated to a MCU Project” message means System Workbench for STM32 is not able to identify your project as a SW4STM32 project .... such is killer already; My guess is not only debug but most of SW4STM32 added value features will be disabled so (including C/C++ Build > Settings Target tab ...) :-(.

Could you share some data more ? :
- What was your previous release you were relying on ?
- What’s your OS your relying on ?
- What’s your .project file content ? You should get fr.ac6.mcu.ide.core.MCUProjectNature as nature key somewhere ...

Could you have a try to perform a brand new installation about SW4STM32 (all in one package : http://www.openstm32.org/Downloading%2Bthe%2BSystem%2BWorkbench%2Bfor%2BSTM32%2BinstallerQuestion ) ?

Thanks for sharing back.
Br,
Cartu38


Cartu38,
Not exactly sure what version I was running previously but I think it was 1.13. I had originally installed 1.8 and updated it a few times.

I’m Running on Ubuntu 17.10 (64-bit)

I’ve attached my .project file. There is no “MCUProjectNature” referenced in the file.

The Link you provided is where I got 2.3 from. I installed it over the top of the previous version. I just tried a clean installation and have the same issue.

My project was originally create with the older version of SW4STM32. There was no Target or MCU Tabs then and it all worked well.
Surely there must be a mechanism to update the project for the new SW4STM32 version, either automatically or manually.

Andrew.

France

Andrew,

Target Tab was existing prior 1.13 release ... and MCUProjectNature is existing since the origin of SW4STM32 product. Such nature is the way (only one) to know a project is a SW4STM32 one; Frankly speaking I don’t understand how it may work without such ...

Is it possible to you to create a brand new project (using dedicated wizard) then to import your sources in it ? my guess is such way is safest one preventing any late troubles.

Br,
Cartu38


Cartu38,

I just created a new empty project.

  • File -> New -> Project
  • C/C++ -> Makefile Project with Existing Code
  • Next
  • Toolchain for Indexer Setting => Ac6 STM32 MCU GCC
  • Project Name => test
  • Existing Code Location => /home/andrew/src
  • Finish


Again I have only 2 Tabs for Properties -> C/C++ Build -> Settings (Binary Parsers, Error Parsers). There is no MCU or Target Tab.
There is no MCUProjectNature in the .project file. I’ve attach the generated file.

At no point was I asked about the Target or MCU when setting up the project.


France

Hi,

The reason it does not work is you do not create a SW4STM32 project: by creating a “Makefile Project with Existing Code”, you create a plain Eclipse project. This is meant for cases where you have created your project totally manually and only want Eclipse to edit the code and start the build.

The proper way to create a project is creating a “C Project” or “C++ Project” instead of a “Makefile Project with Existing Code”; then on the next screen, you must choose the project kind (usually Executable or Static Library, if you want SW4STM32 to generate your Makefiles automatically) and the AC6 STM32 MCU GCC toolchain.

You should not choose “GNU Autotools” nor “Shared Library” project kinds as these are not supported if you don’t have an OS like Linux or Windows; you may choose “Makefile Project” here but you will have to create and update your Makefile manually, so this is probably not what you want.

Bernard (Ac6)


It make no sense to me why choosing “Makefile Project with Existing Code” does not also create an SW4STM32 project, after all I am use SW4STM32. Why else would I be using it.
We have existing code base with manually generated Makefile, (so we have full control over the build process from outside of eclipse).
My primary reason for using eclipse is to use the debugger, not to have it manage the code base.

As it turns out the solutions is quite simple. Add the following 2 line to the “” section of the project file.
fr.ac6.mcu.ide.core.MCUProjectNature
fr.ac6.mcu.ide.core.MCUSingleCoreProjectNature

I haven’t had a chance to run a debug session yet (no hardware available at present) but the errors have gone I have a target set and it attempts to talk to the ST-link.

I hope this is of benefit to others.

Andrew.