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


Errors building new STemWin/FreeRTOS project.

Hello.
I am strugging to work out why I am unable to build a new project generated by Eclipse IDE.
I am able to build the example projects supplied with STM32Cube_FW_F4_V1.7.0.

I appologise that the description is very long, but as I am new to both Eclipse and Discovery boards I could be getting it wrong at any point.

I am using Eclipse IDE for C/C++ Developers Version: Luna Service Release 2 (4.4.2) under windows 10.

My process for generating the new project is:
Open workspace C:\Users\Ian\Desktop\MyTemplate_StemwinFreeTos.
Select .
Enter Project name “MyProject”. Leave Use default location ticked.
Select Project type .
Select Toolchain . (The only option displyed).
Press to move to Select Configuration form.

Leave Debug and Release options ticked, and press to move to MCU configuration form.

Select STM32F429I-DISCO board from the dropdown options. Press next to move to Project Firmware form.

Select the Hardware Abstraction Layer (Cube HAL).
The following information is displayed: Firmware “STM32Cube_FW_F4_V1.8.0” has been found.
Notice that this is not the same version as STMCube I have been using. I think this firmware was downloaded during a previous attempt.
I am leaving tickbox “Extract all firmware in seperate folder” unticked.
“Add low level drivers in the project” is ticked. Radio button “As sources in the application project” is selected.
StemWin is ticked under “Additional drivers”.
FreeRTOS is ticked under “Additional utilities and third-party utilities”.

I then press to generate the project.

From the project explorer pane, I right click on “MyProject” and select “Build Project”.

The first error I encounter is:
../Middlewares/ST/STemWin/Simulation/WinMain.c:50:21: fatal error: windows.h: No such file or directory
#include

I could not find a windows.h file anywhere on the PC, but after a search of the internet, I installed Microsoft windows SDK7. (I think - this was a couple of weeks ago now. I have been struggling for a little while.)
Again in the project explorer pane, I right clicked on the inc folder under “MyProject”, and selected .
Under I selected All configuraitons from the Configurations dropdown box.
Under I added:
“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include”
I then pressed and to return to the main application.

Rebuilding again, I get the error:
C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Include/windows.h:151:19: fatal error: excpt.h: No such file or directory
#include

Installing Visual Studio 14.0 and adding the Include path “C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include” resolved this.

Again the build fails. In the problems tab I can see 100 of 2274 errors. All declarations for parameter that I do not understand. For example:
declaration for parameter ‘__dev_t’ but no such parameter.


In _typedefs.h I can see the line with the error:
typedef short __dev_t;
I can not work out what I am doing wrong.


Can somebody please help?

Thanks.

Hi,

Could you give more details about Project type and Toolchain.
I don’t know to much about the method you describe for creating the project, anyway seems that you have files used for STemWin simulation under Windows (STemWin/Simulation/WinMain.c).
If your intention was to build an embedded project than this components should not be present.

Some time ago I made a basic project for STM32F429I Discovery that use STemWin and FreeRTOS. I have successfully download and run the project.
This basic application writes a counter on the screen and toggle LD4 LED (the RED one) from FreeRTOS task at 0,5 Hz.

Project is based on ST examples:
STM32Cube_FW_F4_V1.8.0\Projects\STM32469I-Discovery\Applications\STemWin\STemWin_HelloWorld
and
STM32Cube_FW_F4_V1.8.0\Projects\STM32469I-Discovery\Applications\FreeRTOS\FreeRTOS_ThreadCreation

Project is build from “scratch”. I added necessary libraries and then I use an empty System Workbench “embedded C project”.

Maybe you can take a look at this project to see what files (libraries) are used. The link is below:
https://csalageanu@bitbucket.org/csalageanu/429i-w.gitQuestion

Clone the project from bitbucket or download as zip package (it can take few minutes because the project contains all HAL libs). Normally this project should build without errors.
When running you should see the counter increment on LCD and Red LED toggle. The Green LED is not controlled by FreeRTOS.


I do not know what happened to the second section of my post. It was getting late last night when I wrote it. Sorry.
It should have read:

Open workspace C:\Users\Ian\Desktop\MyTemplate_StemwinFreeTos.
Select .
Enter Project name “MyProject”. Leave Use default location ticked.
Select Project type as Ac6 STM32 MCU GCC .
Select Toolchain Ac6 STM32 MCU GCC. (The only option dispalyed).
Press to move to Select Configuration form.


I have just downloaded your sample project. The code builds and runs okay.
I will try and see if I can see the differnces in the project.

Thanks.


France

Hi all,
STemWin is not yet fully supported out-of-the-box by System Workbench for STM32; in fact it will try to compile all of the files in STemWin, includeing the windows emulation libraries that, obviously, can’t be compiled for the target.
You should thus delete from your project the offending files (including, at least, the whole content fo the STemWin/Simulation directory).
Bernard


What do people thing my best option would be?
1. Start with the most basic empty project with only the standard peripheral library, and add STemWin and FreeRTOS manually.
2. Build the project as I have described above, and delete what I don’t need. Is it documented anywhere what needs to modified?
3. Use the sample project I downloaded from cipriansalageanu above and use this as a starting point. (I feel this option is cheating as I would not understand the problems I have encountered).

cipriansalageanu: I hope I don’t sound ungrateful with my comment in 3 above.
Your example will be invaluable if I go with option 1 as it is far simpler that the ST examples (for all discovery boards and all toolchains) I have looked at.

Ta.

If you have time and there is no pressure I will vote for first option. In case of time pressure second option or even third option.