2026-05-27 7:20 AM
I've flashed an STM32MP257F-EV1 board SD card with the FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv image and manually loaded (via remoteproc under Linux) the unsigned OpenAMP_TTY_echo M33 example in ELF format, which works as expected.
Next, I modified the OpenAMP example to enable IWDG4 and the M33 receives the early wake-up interrupt when I don't refresh the watchdog. However, the A35 remoteproc service doesn't automatically detect the timeout and recover the firmware as the documentation implies. I've enabled remoteproc automatic recovery on the Linux side and it properly recovers if I simulate a crash using remoteproc sysfs but not when the M33's watchdog times out or a hard fault occurs.
Does the unmodified FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv image support automatic detection of an M33 crash via watchdog (I also tried WWDG1) or hard fault or do I need to modify its device tree to enable that capability?
If the latter, is there an alternate mechanism I can use (IPCC?) to notify remoteproc an M33 crash occurred so rempteproc automatically recovers it? The internet suggested simply disabling the IPCC interrupts which remoteproc detects as a frozen M33 but that didn't work. It also suggested sending a message to the A35 via the shutdown channel or using UDEV rules to detect the removal of the virtual serial port but these seemed to require custom work on the Linux side rather than letting remoteproc do it automatically.
For context, I'm trying to debug an M33 crash on units in the field that use the same device tree as the EV1 development board so if a mechanism doesn't work with the unmodified FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv image, I can't make use of it.