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

Problems to implement a stm32F3 library

Hi, I try to implement a static library to use the hal drivers.
I have generate a static lib with the firmware and the hal driver. If i build the lib all is running well.
Now i want to implement the lib within my project. Therefor i have a new project without firmware for the same target.
At eclipse i have a depend to the lib.
If i Build the project without the depend to the lib all is running well and i can run it at the Target and debug.
If i have the depend to the Lib i get the following build error.

/home/fritz/workspace/remodip/Debug/libremodip.a(hwinit.o): In function `hwinit’:
/home/fritz/workspace/remodip/Debug/../src/hwinit/hwinit.c:36: undefined reference to `HAL_Init’
makefile:53: die Regel für Ziel „HProto1.elf“ scheiterte
/home/fritz/workspace/remodip/Debug/../src/hwinit/hwinit.c:52: undefined reference to `HAL_GPIO_Init’
/home/fritz/workspace/remodip/Debug/libremodip.a(hwinit.o): In function `SystemClock_Config’:
/home/fritz/workspace/remodip/Debug/../src/hwinit/hwinit.c:82: undefined reference to `HAL_RCC_OscConfig’
/home/fritz/workspace/remodip/Debug/../src/hwinit/hwinit.c:94: undefined reference to `HAL_RCC_ClockConfig’
collect2: error: ld returned 1 exit status

hwinit is a little function to export from the lib.
Again the lib and the project alone i can build without any error. Togeter i have the error befor :-(

What do i wrong?




Hi Fritz,

Just create your project selecting the proper firmware library and selecting (in the Project Firmware configuration tab) As static external libraries and it should do the job automatically.

In your case, I suspect the generated library is incomplete; How did you create the library?

The library may build without any error, but some functions may be nevertheless be missing as final link edition phase, where undefined symbols became errors, is only done when building an executable.

Hope this helps

Bernard (Ac6)

Hi Bernard,
thank you for your reply.
Yor suggestion to create the project with firmware lib is running well. I had tryed it.

What i need is another lib with all the hardware inits and so on and one application without the firmware libs.
I have created the lib with eclipse -> new project -> static lib -> AC6 then the target config for nucleo F302R8 with firmware lib and hal driver
The app project is created with eclipse -> new project -> executable -> AC6 -> target config for F302R8 without any firmware.

I had a app project with Firmware there i can use my own lib. Only if i create the app project without firmwar i have this error.

Thats very strange :-)

Because you have any other suggestion?