Hello,
How to turn on/off M4 Core from M7 Core? I tried to do it with MCMGR but MCMGR_StopCore function is not implemented. It has only below code:
mcmgr_status_t mcmgr_stop_core_internal(mcmgr_core_t coreNum)
{
/* It is not allowed to stop the secondary core */
return kStatus_MCMGR_NotImplemented;
}
I also tested power_mode_switch example, but I can't switch M4 power mode without using M4 core itself.
Are there any way to turn of M4 from M7? I want to turn it off and repeatedly check it if it is steel of on my M7 application.
Hi @omerfaruky ,
I think you need to establish a communication channel between M7 and M4, and let M7 tell M4 to enter the required low power mode . The demo of evkbmimxrt1170_rpmsg_lite_pingpong_primary_core can be used as a reference.
Hope that helps,
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @Kan_Li ,
Thank you for your quick reply! Yes I am able to do it when I use the M4 to turn off itself. But what I want to do is turn off M4 from M7 core. I don't even want to run a code at M4. My application will only run at M7 core and I want to be sure that M4 is not running.
Hi @omerfaruky ,
As far as I know, the RT1170 boots up from M7 by default and M4 keeps in reset state until M7 kicks it off, so if your code in M7 doesn't start M4, you needn't concern about it.
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @Kan_Li, ,
Yes, I read a post about the situation you mentioned before, but I couldn't find any information in RM that the M4 core is turned off at startup. When I checked the power mode of the M4 core with a software that contains only M7 code, I observed that it is always in RUN mode at startup. Before this observation, I didn't do any kick operation or copy any code to make the M4 core work. I don't know if I am checking with a wrong method, but I need to be sure that the M4 core is turned off at startup and while the software is running. I wonder if I can do it without using the M4 core.
Hi @omerfaruky ,
Yes, it is possible to only use M7 in an application, and the SDK demos ended with m7 are good reference for your case, you may start your own application based on either of them. Please kindly refer to the following for details.
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @Kan_Li ,
When the BT_RELEASE_M4 bit is set, from the information which given in the RM, it means that M4 core reset is released. What should I understand from "reset is released" and "reset is asserted" sentences. I thought when the reset is released, core is running. When reset is asserted, CPU is in in reset state. Do I miss understand the RM or how can I make the link between CPU run mode and BT_RELEASE_M4 bit in SRC?
When I run the M7 example codes, SRC register has value 0x01. It indicates that M7 core reset is asserted and M4 core reset is released.
You said "the RT1170 boots up from M7 by default and M4 keeps in reset state until M7 kicks it off" before, can you give me an reference from RM about that information. I could not find that in the RM.
Hi @omerfaruky ,
Just to clarify that src=0x01 means M7 is released but M4 is held in reset.
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @omerfaruky ,
Yes, your understanding about the reset assert/release is correct. and you may easily have the similar conclusion with the following contents from the RM:
Hope that helps,
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @Kan_Li ,
If my understanding is correct, then why I am getting the 0x01 value from SCR register while my application only contains M7 core?
The information you gave from RM is about the BOOT Rom code, it does not describe the application. When rom done its job, the code will jump to main. After that time, what will be cores power modes? Also this section describe which core will be execute rom code, it does not clarify the other core mode when one of the cores run rom code.
Hi @omerfaruky ,
Did you run any SDK demo for M7 or some custom project? When M4 is out of POR but hold in reset state, it is in RUN mode but not running.
Have a great day,
Kan
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Hi @Kan_Li ,
Yes I run SDK demos for M7 core. and I checked SCR register value. It was 0x01. "it is in RUN mode but not running" -> how can I get this info while my M7 core is executing my application code?