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
解決済! 解決策の投稿を見る。
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!
-----------------------------------------------------------------------------------------------------------------------
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.
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?
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
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!
-----------------------------------------------------------------------------------------------------------------------
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