iMx7: M4 stops running on A7 reset

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMx7: M4 stops running on A7 reset

Jump to solution
1,952 Views
jeanpihet
Contributor I

Hello,

I have a question related to the A7 and M4 dependency on reset.

We want to be able to keep the M4 (FreeRTOS) running if the A7 (Linux) reboots, e.g. after an update or after a crash/wdog.

Is this possible? Since the RTOS is running some critical code under FreeRTOS, it has to keep running all the time.

The issue we are experiencing is that the M4 stops running after a reset from the A7.

Here are some details about the issue:

- M4 code is loaded and started from A7 (U-Boot or Linux). The M4 code is in DDR.

- After a 'reboot' command on A7 the M4 code is untouched but the BOOTROM control registers (at 0x00180000) are changed. Also the SRC_M4RCR register value is 0xAB.

- After a press on the RESET button the M4 code and the BOOTROM control registers are untouched but the SRC_M4RCR register value is 0xAB.

The value of 0xAB in SRC_M4RCR is weird since bit 1 (SW_M4C_RST) is self-clearing.

Is there a way to prevent a reset from A7 from touching the M4 state?

Thanks a lot for looking, any feedback is welcome!

Regards,

Jean Pihet

www.newoldbits.com

Labels (3)
1 Solution
1,247 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Jean,

it is possible to have A7 off (stop mode) while M4 is running. But resetting A7 may not be possible because after reset, A7 will reconfigure the clocks on which M4 is depending and this may cause unknown behaviors.


Regards,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

5 Replies
1,247 Views
erickrieg
Contributor I

I got past a problem like this just by hitting the space bar early on in the com window as the A7_0 core was starting to go into linux.  I believe this kept it from doing things that would stop the other 2 cores from getting going.   A big part of working with the imx7 is that the cores have to nicely share the common resources and not collide with each other.

0 Kudos
1,247 Views
jroberts
Contributor I

I started investigating this myself in the last couple of days. It is a shame that NXP didn't consider this usecase as it seems obvious to me given the likely realtime/non-realtime split of the i.MX7. I was wondering if anybody had any alternative suggestions how this type of functionality might be delivered?

0 Kudos
1,247 Views
jeanpihet
Contributor I

Hello Carlos,

Ok this is what I got from the datasheet and the experiments I have done.

Thanks you very much for your reply!

Regards,

Jean

0 Kudos
1,248 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Jean,

it is possible to have A7 off (stop mode) while M4 is running. But resetting A7 may not be possible because after reset, A7 will reconfigure the clocks on which M4 is depending and this may cause unknown behaviors.


Regards,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,247 Views
evgenyerlihman
Contributor IV

Hi Carlos,

Looking at this discussion: https://community.nxp.com/thread/439506 

I see that even though the A7 is OFF, the overall power consumption is not that significantly lower. Is it still the case, or were there any changes to allow a greater power savings when A7 is OFF and M4 is working?

Thanks,

Evgeny

0 Kudos