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

Generate Software Interrupt (SI) with STM32F· Discovery board with HAL drivers



I don’t understand the use of your waiting loop in EXTI2_TSC_IRQHandler: you will just wait for a few microseconds, or even less, before setting delay_SI to 200. Where did you see a 200ms delay?

According to your code, you toggle GPIO1 every millisecond, and GPIO10 and GPIO2 every 100ms (the first two in the callback, the last in the software generated interrupt handler, which is triggered every 100ms). If you want GPIO2 to be toggled every 200ms you should have a static counter in the SW handler, and only toggle GPIO2 when it is equal to 2 (then reset it to 0).

Bernard (Ac6)