Working with both cores CM7 and CM4 in IMXRT1176xx controller

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Working with both cores CM7 and CM4 in IMXRT1176xx controller

1,283 次查看
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 项奖励
回复
4 回复数

1,211 次查看
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 项奖励
回复

1,260 次查看
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 项奖励
回复

1,247 次查看
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 项奖励
回复

1,237 次查看
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 项奖励
回复