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


Issues Installing System Workbench for STM32 from Eclipse

Hi, I feel for ya. I’ve been there. I’m new to embedded stuff but this isn’t “my first rodeo” so here are my observations:

‘’After step 4.4, I get this error upon opening Eclipse:
’Initializing External-tools’ has encountered a problem.
An internal error occurred during: “Initializing External-tools”.
java.lang.ExceptionInInitializerError’’

I was getting that error before installing the ac6 tools. weird.

C:\Users\aatca\AppData\Local\Temp\ccH0jd0c.s:295: Error: selected processor does not support `dsb 0xF’ in Thumb mode

This error suggests you’re using the wrong board setup or the wrong compiler? Those items are in your project properties so changing your installation won’t likely fix that.

Your board settings are in project properties, open C/C++ Build -> Settings -> Target. Remember, these settings are Configuration specific so check Debug and Build settings. Make sure these are correct.

A couple debugging suggestions:
In your project properties, open C/C++ Build -> Settings -> Tool Settings Tab -> MCU Settings
- Prefix should say “arm-none-eabi-”
- Path should say ${openstm32_compiler_path}
What does MCU and Board say? Does it match your board?

In your project properties, open C/C++ Build -> Settings -> Tool Settings Tab -> MCU GCC Compiler
- What does the “All options” say? Does it match your board? The MCU settings above?

What does the compiler output look like when you build? This is my output:
Building file: ../StdPeriph_Driver/src/stm32f4xx_crc.c
Invoking: MCU GCC Compiler
C:\Users\russh\my-proj\Debug
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DSTM32 ‘-DHSE_VALUE=20000000’ -DSTM32F4 -DSTM32F446RETx -DDEBUG -DSTM32F446xx -DUSE_STDPERIPH_DRIVER -I”C:/Users/russh/myproj/StdPeriph_Driver/inc” -I”C:/Users/russh/myproj/inc” -I”C:/Users/russh/myproj/CMSIS/device” -I”C:/Users/russh/myproj/CMSIS/core” -O1 -g3 -Wall -fmessage-length=0 -ffunction-sections -c -MMD -MP -MF”StdPeriph_Driver/src/stm32f4xx_crc.d” -MT”StdPeriph_Driver/src/stm32f4xx_crc.o” -o “StdPeriph_Driver/src/stm32f4xx_crc.o” “../StdPeriph_Driver/src/stm32f4xx_crc.c”
Finished building: ../StdPeriph_Driver/src/stm32f4xx_adc.c

This is the important bit:
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DSTM32 ‘-DHSE_VALUE=20000000’ -DSTM32F4 -DSTM32F446RETx -DDEBUG -DSTM32F446xx -DUSE_STDPERIPH_DRIVER

It needs to match your board. If you don’t see arm-none-eabi-gcc that’s a bit hint that you’r using the wrong compiler.
If the board info is wrong, then you can fix that in the Target tab.

java.lang.NoClassDefFoundError: Could not initialize class fr.ac6.mcu.externaltools.stlinkserver.win32.WinRegistry
This is the error that brought me here so I have no idea. ;)

‘’After changing some things I unfortunately no longer remember, running existing projects now gives this error:
Wrong device detected’’
I think this is in Debug Configurations, but I don’t know because apparently it’s not working on this computer (I can’t get the gui editor to show?). These settings are for OpenOCD. Usually I think it’s a text file generated for you. On a work project we override the file manually. Again, if you accidentally changed the processor or board this error would make sense?

Good luck!
Russ