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


STM32 doesn't built it's own projects

I have an STM32F769I Disco0 anytime I try to do a new project in STM32 it has invalid paths in headers.

I have tried to fix the path thing but there is so much junk I just don’t have the patience to wade through something I shouldn’t have to do.

So is this ever going to work or should I just forget trying to do anything with this device and go back to NXP.

France

Hi,
To try to help you we need a bit more information about your setup:
- OS and version
- Installation mean installer or manual)
- Version of System Workbench fo STM32
- Installation path (should not include spaces in th epath)
- Java version (if installed separately)
...
Just saying: It does not work does not allow anybody to help you...
Bernard (Ac6)

Ubuntu 16.04.3 LTS

System Workbench for STM32 - OpenOCD (for Linux 64bits)

Version: 1.14.1.201707031232
Build id: @build@

Copyright (c) 2013 - 2014 Ac6 Tools. All rights reserved.
Visit http://www.openstm32.orgQuestion

This happens on linux and windows and with every version of System Workbench for STM32 I have tried
A fresh install on Win10 64 on 22-08-2017 fails as well

Using the wizard crete a C or C++ project
Under executable select AC6 and give it a name
Click through to MCU Configuration page
Select STM32F7
Board STM32F769I-DISCO - this is the label on my board

Select next because who wants a board with no libraries.

In the project firmware configuration

Select Cube HAL - FW version is 1.7.0
pick some drivers
audio becuase I want to make a phone
stmwin because a display would be nice
lwip because it has a network
FreeRTOS because who wants to write a scheduler for the hundredth time

Now build and watch it fail

Description Resource Path Location Type
fatal error: lwip/errno.h: No such file or directory errno.h /test/Middlewares/Third_Party/LwIP/src/include/posix line 33 C/C++ Problem
fatal error: windows.h: No such file or directory WinMain.c /stm32f769i-disco_hal_lib/Middlewares/ST/STemWin/Simulation line 50 C/C++ Problem
make: *** Middlewares/ST/STemWin/Simulation/WinMain.o Error 1 stm32f769i-disco_hal_lib C/C++ Problem
make: *** src/syscalls.o Error 1 test C/C++ Problem
recipe for target ‘Middlewares/ST/STemWin/Simulation/WinMain.o’ failed subdir.mk /stm32f769i-disco_hal_lib/Debug/Middlewares/ST/STemWin/Simulation line 18 C/C++ Problem
recipe for target ‘src/syscalls.o’ failed subdir.mk /test/Debug/src line 27 C/C++ Problem

Installed software
ARM Compiler for MCU 1.14.1.201707031232 fr.ac6.feature.mcu.externaltools.armnone.feature.group Ac6
C/C++ Autotools support 9.2.1.201704050430 org.eclipse.cdt.autotools.feature.group Eclipse CDT
C/C++ Development Tools 9.2.1.201704050430 org.eclipse.cdt.feature.group Eclipse CDT
C/C++ GCC Cross Compiler Support 9.2.1.201704050430 org.eclipse.cdt.build.crossgcc.feature.group Eclipse CDT
C/C++ GDB Hardware Debugging 9.2.1.201704050430 org.eclipse.cdt.debug.gdbjtag.feature.group Eclipse CDT
C/C++ Library API Documentation Hover Help 5.3.0.201703072040 org.eclipse.linuxtools.cdt.libhover.feature.feature.group Eclipse Linux Tools
C/C++ Memory View Enhancements 9.2.1.201704050430 org.eclipse.cdt.debug.ui.memory.feature.group Eclipse CDT
C/C++ Remote Launch 9.2.1.201704050430 org.eclipse.cdt.launch.remote.feature.group Eclipse CDT
CDT Standalone Debugger Support 9.2.1.201704050430 org.eclipse.cdt.debug.standalone.feature.group Eclipse CDT
ChangeLog Management Tools for C/C++ 5.3.0.201703072040 org.eclipse.linuxtools.changelog.c.feature.group Eclipse Linux Tools
Eclipse IDE for C/C++ Developers 4.6.3.20170314-1500 epp.package.cpp Eclipse Packaging Project
External Tools 1.14.0.201707031232 fr.ac6.feature.mcu.externaltools.feature.group Ac6
GCov Integration 5.3.0.201703072040 org.eclipse.linuxtools.gcov.feature.group Eclipse Linux Tools
GDB Tracepoint Analysis 2.3.0.201703072250 org.eclipse.tracecompass.gdbtrace.feature.group Eclipse Trace Compass
Git integration for Eclipse 4.6.1.201703071140-r org.eclipse.egit.feature.group Eclipse EGit
GProf Integration 5.3.0.201703072040 org.eclipse.linuxtools.gprof.feature.feature.group Eclipse Linux Tools
Library Hover help for devhelp documentation 5.3.0.201703072040 org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group Eclipse Linux Tools
LTTng Kernel Analysis 2.3.0.201703072250 org.eclipse.tracecompass.lttng2.kernel.feature.group Eclipse Trace Compass
LTTng Tracer Control 2.3.0.201703072250 org.eclipse.tracecompass.lttng2.control.feature.group Eclipse Trace Compass
LTTng Userspace Analysis 2.3.0.201703072250 org.eclipse.tracecompass.lttng2.ust.feature.group Eclipse Trace Compass
MCU Utils 1.2.1.201707031232 fr.ac6.feature.mcu.utils.feature.group Ac6
Mylyn Context Connector: C/C++ Development 5.17.0.v20160701-1337 org.eclipse.cdt.mylyn.feature.group Eclipse Mylyn
Mylyn Context Connector: Eclipse IDE 3.21.0.v20160912-1820 org.eclipse.mylyn.ide_feature.feature.group Eclipse Mylyn
Mylyn Context Connector: Team Support 3.21.0.v20160701-1337 org.eclipse.mylyn.team_feature.feature.group Eclipse Mylyn
Mylyn Task List 3.21.0.v20160914-0252 org.eclipse.mylyn_feature.feature.group Eclipse Mylyn
Mylyn Task-Focused Interface 3.21.0.v20160815-2336 org.eclipse.mylyn.context_feature.feature.group Eclipse Mylyn
Mylyn Tasks Connector: Bugzilla 3.21.0.v20160909-1813 org.eclipse.mylyn.bugzilla_feature.feature.group Eclipse Mylyn
Mylyn WikiText 2.10.1.v20161129-1925 org.eclipse.mylyn.wikitext_feature.feature.group Eclipse Mylyn
Native JavaHL 1.8 Implementation (Optional) 6.0.0.I20160427-1700 org.polarion.eclipse.team.svn.connector.javahl18.feature.group Polarion Software
Native JavaHL 1.9 Implementation (Optional) 6.0.0.I20160427-1700 org.polarion.eclipse.team.svn.connector.javahl19.feature.group Polarion Software
OpenOCD 1.15.0.201707031232 fr.ac6.feature.mcu.externaltools.openocd.feature.group Ac6
OpenSTM32 Help Documentation 1.2.1.201705161428 fr.ac6.feature.mcu.documentation.feature.group AC6
OpenSTM32 IDE 2.1.0.201707031232 fr.ac6.feature.mcu.ide.feature.group Ac6
OpenSTM32 Linker Script editor 1.11.1.201705091103 fr.ac6.feature.mcu.ldscript.feature.group Ac6
OpenSTM32 Remote debugging support 2.1.0.201707031232 fr.ac6.feature.mcu.debug.feature.group Ac6
Remote System Explorer End-User Runtime 3.7.2.201610260947 org.eclipse.rse.feature.group Eclipse TM Project
RPM Tools 5.3.0.201703072040 org.eclipse.linuxtools.rpm.feature.group Eclipse Linux Tools
STLinkServer 1.0.0.201707031232 fr.ac6.feature.mcu.externaltools.stlinkserver.feature.group Ac6
Subversive Revision Graph (Optional) 4.0.0.I20160226-1700 org.eclipse.team.svn.revision.graph.feature.group Eclipse.org
Subversive SVN Connectors 6.0.4.I20161211-1700 org.polarion.eclipse.team.svn.connector.feature.group Polarion Software
Subversive SVN Integration for the M2E Project (Optional) 4.0.0.I20160226-1700 org.eclipse.team.svn.m2e.feature.group Eclipse.org
Subversive SVN Integration for the Mylyn Project (Optional) 4.0.0.I20160226-1700 org.eclipse.team.svn.mylyn.feature.group Eclipse.org
Subversive SVN Team Provider Localization (Optional) 4.0.0.I20160226-1700 org.eclipse.team.svn.nl1.feature.group Eclipse.org
SVNKit 1.8.14 Implementation (Optional) 6.0.4.I20161211-1700 org.polarion.eclipse.team.svn.connector.svnkit18.feature.group Polarion Software
Valgrind Tools Integration 5.3.0.201703072040 org.eclipse.linuxtools.valgrind.feature.group Eclipse Linux Tools


France

Hi,

There is a warning on the firmware page saying that, if you select additional firmwares, you may have to adapt their configuration and that’s exactly what you got. This is especially true when using several third party firmware components; there is too much possibilities for a program to automatically guess which configuration will work for you (for example LWIP can work on Ethernet, but also on serial lines, with or without an RTOS, support UDP and/or TCP, work with fixed IP addresses or using RARP, Bootp, or DHCP, ...). For audio you may have to choose the source and destination devices, resolution, frequency... and the like for graphics.

What will compile without a problem is using just the ST base drivers; as soon as you add more, you may have to adapt configuration files and, in some cases, include/exclude some files/directories from build. The problem comes from the fact some firmwares must be configured differently if they have to work with other firmwares. For example the LWIP source code contains code to work with and without FreeRTOS. By default all code is included, which obviously cause problems.

When you want to use several additional firmwares, you may try using CubeMX, which is just trying to do that (similar to what Processor Expert does for NXP Kinetis chips): configure them and initialize the hardware accordingly, letting you choose which pins to use for the various devices you want to use, etc. CubeMX will then generate a project that should compile.

Hope this helps, at least clarifying things.

Bernard (Ac6)

Well sadly

Create a new Ac6 project
select STM32f7->STM32F769I-DISCO
Add HAL Additional drives STM only STemWin and STM32_Audio
Finish
Build and fail

Description Resource Path Location Type
fatal error: windows.h: No such file or directory WinMain.c /puretest/Middlewares/ST/STemWin/Simulation line 50 C/C++ Problem
make: *** Middlewares/ST/STemWin/Simulation/WinMain.o Error 1 puretest C/C++ Problem
recipe for target ‘Middlewares/ST/STemWin/Simulation/WinMain.o’ failed subdir.mk /puretest/Debug/Middlewares/ST/STemWin/Simulation line 18 C/C++ Problem

Dude it’s just broke

If I don’t want to do a mountain of work I have to create a project on MBED and export to a Makefile for GCC becasue exporting to an STM32WS in MBED fails to compile as well.

France

In this case, you should just have to exclude the Middlewares/ST/STemWin/Simulation folder from the build; it is delivered by Segger to allow compiling your GUI in Simulation mode on your Windows box but, obviously, should not be compiled for the target.

To do that you right click on the folder then Properties go to the C/C++ Build tab and select Exclude resource from build. Note furthermore that emWin can work either with or without FreeRTOS, so you must compile only one of the Middlewares/ST/STemWin/OS/GUI_X_OS.c (with RTOS) or GUI_X.c (without RTOS) using the same mechanism. You must also in Middlewares/ST/STemWin/Config, update GUIConf.h if needed (at least regarding the use of RTOS or not) and exclude all .c files (the templates and C files are just examples to use as a base when supporting your own board).

I just check it (with FreeRTOS) and it compiles. I can’t test it as I don’t have this board here but it should work, although not displaying anything as you have to at least provide something to display.

To go further I can only urge you to look at the STemWin sample project in the HAL firmware (just check the Extract all firmware in separate folder in the firmware selection tab when creating the project (this will take some time...) and look in the created (closed) STM32Cube_FW_F7_V1.7.0 project in Projects; However there is no simple demo application (in Applications) for the discovery board, for STemWin, just the full-fledged Demonstration that you can open by File >> Import... >> General >> Existing project into workspace, then select the proper sub-directory of the firmware project (Projects\STM32F769I-Discovery\Demonstration\SW4STM32\STM32F769I-Discovery_Demo in this case) and click OK. You then have a program that uses almost all possibilities of the board.

Another alternative when wanting to use additional firmwares is to have CubeMX generate the project and initialize things; it was developed just for that. Mbed may be an alternative also but it is currently not integrated so well with System Workbench for STM32 (we were not involved in this integration)

Anyway you can’t choose any selection of firmwares for a given evaluation board and then expect to get a working program just with the push of a button. There is quite a lot of documentation (for STemWin there is a detailed user manual in the provided folder) that you may have to read and understand before being able to create your own project “from scratch”.

Bernard (Ac6)