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 two short videos (registration required) highlighting:

System Workbench for STM32

HAL_Init() jumps to Infinite_Loop of startup_stm32.s


I setup a project for the STM32L431CBT6 MCU with the default main() from you. I can download and step through the program with the debugger. Then I added the HAL_Init() function with the corresponding #include “stm32l4xx_hal.h”. When I now step through the debugger, the HAL_Init() function jumps to the Infinite_Loop loop of the startup_stm32.s, when starting the systick timer in the HAL.

The SysTick_Handler() is available in stm32l4xx_it.c.

Could you help me, please? I have no idea why. The only thing I changed is the inlcude and the HAL_Init() in main.

Best regards

Hi together,

I sovled it using a workaround. The HAL coming from System Workbench initializes and starts TIM6 as Systick timer. Immediately after start_IT the MCU crashes into the infinite loop.

I generated a project with the CubeMX also and copied the HAL, CMSIS, Drivers, Assembler start and so on to the System Workbench project and uses this now. It works fine.