Working with both cores CM7 and CM4 in IMXRT1176xx controller

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

Working with both cores CM7 and CM4 in IMXRT1176xx controller

1,280 Views
Jeevan
Contributor IV

Hi team,

We are planning to use both the core CM7 and CM4 independently for our application.

As there was a small timing issue in our application we want to make CM7 as primary core and use this CM4 as a parallel running core for some operations

Example: Running hello world or blinking code in cm7 and Running some addition operation in cm4, but we want to use that addition operation result in cm7

 

Can you please suggest what is the steps or procedure to implement this?

0 Kudos
Reply
4 Replies

1,208 Views
mayliu1
NXP Employee
NXP Employee

Hi @Jeevan ,

 

Thank you for your interest in the NXP MIMXRT product, I would  like to provide service for you.

The RT1176 is a dual-core processor. By default, CM7 is the primary core and CM4 is the slave core. If you need to change the primary core to CM4, you need to flash eFuse.

In dual-core applications, there are three main methods to keep the two cores in sync.

1.MU(Message Unit)

mayliu1_1-1728314232705.png

2.SEMA(Semaphore)

mayliu1_2-1728314255018.png

3.Shared memory

mayliu1_3-1728314279592.png

For detail description please refer to the link below

https://www.nxp.com.cn/docs/en/application-note/AN13264.pdf

 

And also, you can import SDK demo to help you better understand.

mayliu1_4-1728314434644.png

Wish it helps you.
If you still have question about it, please kindly let me know.

 

Best Regards

mayliu

 

 

 

0 Kudos
Reply

1,257 Views
Masmiseim
Senior Contributor I

Hey @Jeevan 

Would you like to know how the applications on the two cores can communicate?
The 1170 has a messaging unit that can be used to exchange values and generate interrupts on the other core.
However, a shared memory area is better suited for exchanging larger amounts of data.

Hope this helps

0 Kudos
Reply

1,244 Views
Jeevan
Contributor IV

Hi @Masmiseim ,


Is there any sample code or example code to execute atleast a basic program which works independently or parallely on both the cores (CM7 and CM4).

0 Kudos
Reply

1,234 Views
Masmiseim
Senior Contributor I

Hello @Jeevan,

The SDK from NXP contains many examples. You can download it from https://mcuxpresso.nxp.com/en. Alternatively, it is also available at github (https://github.com/nxp-mcuxpresso/mcux-sdk), but with fewer examples.
Among other things, you can find examples for the MessagingUnit under 'boards\evkmimxrt1170\driver_examples\mu'

Alternatively, you can take a look at my Coremark example: https://github.com/Masmiseim36/Coremark_iMXRT
This uses Rowley Crossworks as development environment. I prefer this over Eclipse

0 Kudos
Reply