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

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

i’m scare you can’t use osdelay from an isr :-(

it never exit becasue the systcik piroity use for hal_tick is lower priority than the isr you are ( systick is lowest pri wiht freerrtos)
so inc tick can’t be served why you do not exit from you rISR :-( you may find same isue in some hal driver like i2c and spi sd etc ...

Even it is not nice to delay and keep cpu buzy in isr (speilay fi very high pri) you can use one of the 32bit timer wiht pescraler set to get 1KHz period
then read/use the 32 cnt value for a “safe ” delay or timing mesure while in isr.

that is typicaly what i do when i use freertos i overload (weak) the HAL_GetTick() to read the 32 bit timer CNT instead of using dwTick
(i also overload inctick to make dummy as icnremting dwtick isnto need then anymore )