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


Working example Project!?

I’m frustrated, I am not able to create and compile any procect, with Cocoox it was working always from beginning!

I was trying the wizzard, to create a simple project for the STM32F429-Disco. I tried many different variants with StdPeripherial-Lib or with Cube-Hal-Lib, more or less complex, no one is compiling!

I tried also to import severel working coocox projects, no way to compile it, it even uint_16 is unknown, could not be resolved!!!!

Please provide some WORKING examples projcects (ready to compile) for the the different STM-Eval boards!

Description Resource Path Location Type
‘USB_OTG_Core_dev’ undeclared (first use in this function) diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 26 C/C++ Problem
cannot find -lstm32f429i-disco_hal_lib Paint.V02 C/C++ Problem
cannot find -lstm32f429i-disco_stdperiph_lib Test C/C++ Problem
fatal error: config.h: No such file or directory lwip_check.h /stm32f429i-disco_hal_lib/Middlewares/Third_Party/LwIP/test/unit line 6 C/C++ Problem
make: *** fat_fs/src/diskio.o Error 1 stm32f429i-disco_stdperiph_lib C/C++ Problem
make: *** Middlewares/Third_Party/LwIP/test/unit/udp/test_udp.o Error 1 stm32f429i-disco_hal_lib C/C++ Problem
make: *** Paint.V02.elf Error 1 Paint.V02 C/C++ Problem
make: *** Test.elf Error 1 Test C/C++ Problem
Type ‘uint16_t’ could not be resolved main.c /Paint.V02/src line 18 Semantic Error
implicit declaration of function ‘ATA_disk_ioctl’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 163 C/C++ Problem
implicit declaration of function ‘ATA_disk_read’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 86 C/C++ Problem
implicit declaration of function ‘ATA_disk_status’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 49 C/C++ Problem
implicit declaration of function ‘ATA_disk_write’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 124 C/C++ Problem
implicit declaration of function ‘HCD_IsDeviceConnected’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 26 C/C++ Problem
implicit declaration of function ‘MMC_disk_ioctl’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 171 C/C++ Problem
implicit declaration of function ‘MMC_disk_read’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 92 C/C++ Problem
implicit declaration of function ‘MMC_disk_status’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 55 C/C++ Problem
implicit declaration of function ‘MMC_disk_write’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 130 C/C++ Problem
implicit declaration of function ‘USB_disk_ioctl’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 179 C/C++ Problem
implicit declaration of function ‘USB_disk_read’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 98 C/C++ Problem
implicit declaration of function ‘USB_disk_status’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 61 C/C++ Problem
implicit declaration of function ‘USB_disk_write’ -Wimplicit-function-declaration diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 136 C/C++ Problem
variable ‘result’ set but not used -Wunused-but-set-variable diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 45 C/C++ Problem
variable ‘result’ set but not used -Wunused-but-set-variable diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 82 C/C++ Problem
variable ‘result’ set but not used -Wunused-but-set-variable diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 120 C/C++ Problem
variable ‘result’ set but not used -Wunused-but-set-variable diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 157 C/C++ Problem
each undeclared identifier is reported only once for each function it appears in diskio.c /stm32f429i-disco_stdperiph_lib/fat_fs/src line 26 C/C++ Problem

Hi,

have you tried with a simple project that include onlu the HAL?
SW NewPrj 1

I tried a project for STM32F4 discovery configured like in the above image and it works.

Regards,
Stefano


psavr,
I’ve had a similar problem with IAR EWARM projects, but (I think) I have found the issue - at least for my particular setup. I decided to install the IAR plugins for Eclipse to make the import process easier. See this site for those plugins: http://eclipse-update.iar.com/Question
Now, after importing a working IAR project and running, clean, then build - the Console shows no errors from the IAR compiler and the IAR linker runs fine. However, once I open any of the source code modules to do something, all sorts of errors show up - hundreds. Things like uint8_t are not found, so I thought it was a path problem and spent way too much time debugging it.

What I found was that System Workbench has a code analysis tool running all the time and apparently it’s seeing these things as errors. If you go to the project properties and select C/C++ General/Code Analysis/Launching and uncheck both boxes it worked for me.

All this assumes that you are using the IAR compiler. My next task is to figure out how to swtich that compiler out and go with the native ARM compiler delivered with SWB.

DT


I’m not using not IAR, I have “arm-none-eabi”.

I am assuming that the compiler is includet in the full installer of the System Workbench, at least there is no hint in the instructions “Installing System Workbench for STM32 with installer” to download and to install the compiler seperately...

Well, I have several different instances and old versions of the compiler already installed on my computer, I guess I am going to uninstall everything and install the system workbench once more!
__
Anyway for the AC6-Team: __
- If the compiler would be not contained in the installer packet, it MUST be describted in the installation guide. (with link to the recommended version and installing instruction)
- There sould be some ready to built / ready to use examples includet in the installation packet, just to test the enviroment!

Psavr

France

Hi,

The compiler is included in an Eclipse plugin on which System Workbench depend on, so that it will be installed whatever the installation method you use (all-in-one installer or as Eclipse plugins). System Workbench should always use the version that is bundled with the Eclipse plugin, so having old versions installed should ot be a problem. In all cases there is nothing special to do to install the compiler.

Regarding a ready to use example to test your installatio, I could only urge you to read the Getting started with System Workbench for STM32 tutorial that gives you step-by-step overview of project creation, compiling and debugging.

Best regards,

Bernard

How silly, that there is not even a simple blinky example anywhere obvious. Hey guys, let’s make it difficult for newcomers...

Hello,

I am also trying to compile simple stm32f4 discovery project with HAL drivers , but without success.
i am getting this output:

21:40:21 **** Incremental Build of configuration Debug for project STM32F4xx ****
make all
‘Building file: ../startup/startup_stm32f407xx.s’
‘Invoking: MCU GCC Assembler’
D:\Electronics
The system cannot find the path specified.
make: *** startup/startup_stm32f407xx.o Error 1

21:40:22 Build Finished (took 406ms)

Please help

Thanks


Hi,

this seems strange. Can you share the log file? It is the .olg file and you find it in /.metadata/ folder.

Also the information about your configuration is interesting. To display it:

  • Select the Help > About Eclipse menu command
  • In the About Eclipse dialog click on the Installation Details button
  • Select the Configuration tab and you can use the Copy to Clipboard button

SW ConfigInfo 01

Regards,
Stefano

Hi Stefano,

Thanks for your comment.
I attached the 2 file that you asked.
(log file and intallation detailes)

Sasha


Dear Sasha,

following some notes after comparing your logs (USR) with mine (STF).

1. You seem to have an older version of SistemWorkbench
eclipse.buildId=4.4.1.M20140925-0400 (USR)
eclipse.buildId=4.4.2.M20150204-1700 (STF)
I don’t think that it is related with your problem, but if you want to update System Workbench you can use the menu command Help > Check for Updates

2. You are using a Java 8 VM
java.home=C:\Program Files\Java\jre1.8.0_31 (USR)
java.home=C:\Program Files\Java\jre7 (STF)
This is a more interesting point. Eclipse Luna should be ready for Java 8, but I’m not 100% sure. Could you test if System Workbench works well with a JRE7? A simple way to proceed is to copy a default JRE folder (for example the one installe by the standard JRE7 setup) in the root folder of System Workbench, that in your case is C:\Ac6\SystemWorkbench. At the startup, if Eclipse finds a JRE folder in its root folder, it uses that JRE insteadof the default system JRE.

3. in your .log file there are some exceptions:
java.lang.NullPointerException
at org.eclipse.core.runtime.Path.(Path.java:183)
at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:182)
at fr.ac6.mcu.ide.process.SetConfigOperation.run(SetConfigOperation.java:94)

java.lang.NullPointerException
at org.eclipse.core.runtime.Path.(Path.java:183)
at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:182)
at fr.ac6.mcu.ide.process.SetProjectStructureOperation.run(SetProjectStructureOperation.java:92)

java.io.IOException: Cannot run program “gcc”: Launching failed
at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:349)

Once again maybe they depends on some incopatibility with Java8.

Regards,
Stefano

Dear Stefano,

First of all i updated System Workbench but still get the same error.
Also i removed JRE8 and installed JRE7 update72, but still have the same error.
I tried JRE7 update55 - same problem.

Sasha


Hi,

this sounds strange sad
This error - at org.eclipse.cdt.utils.spawner.Spawner.exec(Spawner.java:349) - means that there is a problem when a Java application tries to create a native process on the tharget host (your PC).

But I don’t have other ideas in this moment.

Regads,
Stefano

Hi stefano

Thanks for yor replyes and patience.
I found the problem.
it was the name of the folder!
this is the original path:

D:\Electronics&Computers\Electronics\Projects\OpenSTM32_Projects

the “&” was the problem.so i replace it:

D:\Electronics_Computers\Electronics\Projects\OpenSTM32_Projects

and the problem solved :-)

Thanks and sorry for the trouble

Sasha