Halt the Baremetal application on M4 core in iMX7

I am developing a bare metal application for M4 core of iMX7. Using Rpmsg for communication between A7 and M4 core + Booting firmware in M4. I am using the “freertos-colibri-imx7” for application startup and all but developing bare metal application. I am not using any scheduler or task.

I want to Halt the application on M4 side for certain case and let watchdog come into picture and reset the M4 core. But I am not getting the way to halt the program.
Also I am trying to find out any API for giving delay in my application but unable to find.

Bipin Kumar

Hi Raja,

I was talking about the M4 side watchdog.
I have implemented the M4 side watchdog functionality and getting watchdog interrupt as per configured timing(4 second in my case). M4 side system also resets when watchdog timer expires however there is an observation after watchdog reset.

After M4 side reset(watchdog reset), when communicating from A7( A7 side application remains running while M4 resets) with M4 lots of garbage data coming to M4 side repeatedly from A7.
In my application I am sending 8 bytes of data from A7 to M4 through rpmsg and at M4 side(using modified “str_echo_bm.c” application for receiving the message and sending the received message on debug UART of M4) messages come repeatedly to Slot 0, Slot 1 and Slot 3 for 3 times. And this is totally unexpected behaviour.


Dear @bipin7301

Your latest question is not related to the original topic of this post “Halt the Baremetal application on M4 core in iMX7”.
Please open a new question in such a case. I did this for you:

I assume the Baremetal Halt issue is solved?

Regards, Andy