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


can't find include file

I’m a absolute newbie in OpenSTM32, so i started with a very small project. But I face the following problem:
After building all first the STM claimed, that it couldn’t find “stm32f0xx_hal.h”. After mortifying this file, store it and redo of my modifications, the error was gone. But now it keeps saying, that it can’t find “stm32f0xx_hal_conf.h”. With a double click on the file in the Project Explorer the workbench can open it, so it’s there. Also have a look to the attached print-screen. What I’m doing wrong?

You should upgrade CubeMX to the latest version and rebuild your project.
That sould solve your problem.

Harry

Dear Harry

Thank you very much for your support. In the mean time I found, that I have to set the include path (why do I have to mess around with that, the structure of project is defined by the tool, so it could path the include path’s to the compiler). But this is a painful thing, Properties → Settings → C/C++ Build → Settings takes several minutes to show the requested window. And when I’d like to delete on path, all are removed.
After all OpenSTM keeps complaining about missing include files, even after I have added the missing file specifically to the settings I was talking before.

Regards
Henri

PS I fllowed your recomendation at first

Creating my project from the scratch with the newest version of all tools didn’t helped. After that I deleted my workspace and stared all over again, with much better results, but still with errors. Through some investigation I found out that in the “stm32f0xx.h” the line with my target device was still commented. After fixing this, the compiler kept complaining about unresolved “SysTick_IRQn”. I found out, that in my case it’s a replacement for -1. After fixing this problem my LED blink program worked.
Next step, I created a new project, which should include i2c. Same problems as above, a lot of unresolved symbols. I added include statement after include statement in my “main.c”. With every include some errors disappeared, but never all. I tried to follow the include chain, which starts with #include “stm32f0xx_hal.h”. I added a symbol, macro or what ever to this header file project//Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h The compiler complained, that this symbol is not defined. I renamed this header file, no complains about a not existing file. I found 5 files with this name in my workspace. The one that really counts was /nucleo-f091rc_hal_lib/HAL_Driver/Inc/stm32f0xx_hal.h
In the project “properties -> C/C++ Build -> Settings -> MCU GCC or G++ Compiler -> Includes” I found, that the workspace include paths are first in list, before the project paths. In my opinion completely wrong. Include files in the workspace are common to all projects. If you have some project specific modifications in a header file, you place it in one of your project directories. But this doesn’t help, if they are nor taken before the workspace directories.
I also have to say, that all these measures didn’t resolved the include chain problems. I have to make more investigations. And probably it’s not a good idea to have more than one project in one workspace.