iMXRT1170 Turn Off M4 From M7

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

iMXRT1170 Turn Off M4 From M7

1,081 Views
omerfaruky
Contributor I

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. 

0 Kudos
Reply
11 Replies

1,065 Views
Kan_Li
NXP TechSupport
NXP TechSupport

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.
-------------------------------------------------------------------------------

0 Kudos
Reply

1,058 Views
omerfaruky
Contributor I

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.

0 Kudos
Reply

1,025 Views
Kan_Li
NXP TechSupport
NXP TechSupport

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.
-------------------------------------------------------------------------------

 

 

 

 

0 Kudos
Reply

1,021 Views
omerfaruky
Contributor I

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.

0 Kudos
Reply

966 Views
Kan_Li
NXP TechSupport
NXP TechSupport

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.

Kan_Li_0-1745289593623.png

 

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.
-------------------------------------------------------------------------------

 

0 Kudos
Reply

949 Views
omerfaruky
Contributor I

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? 

 

omerfaruky_1-1745303930289.png

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. 

0 Kudos
Reply

706 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @omerfaruky ,

 

Just to clarify that src=0x01 means M7 is released but M4 is held in reset.

Kan_Li_0-1745910027347.png

 

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.
-------------------------------------------------------------------------------

 

0 Kudos
Reply

925 Views
Kan_Li
NXP TechSupport
NXP TechSupport

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:

Kan_Li_1-1745397829930.png

 

Kan_Li_0-1745397761743.png

 

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.
-------------------------------------------------------------------------------

 

0 Kudos
Reply

907 Views
omerfaruky
Contributor I

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. 

0 Kudos
Reply

869 Views
Kan_Li
NXP TechSupport
NXP TechSupport

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.
-------------------------------------------------------------------------------

0 Kudos
Reply

853 Views
omerfaruky
Contributor I

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? 

0 Kudos
Reply