Posix Message Queues on MPC5668G

cancel
Showing results for 
Search instead for 
Did you mean: 

Posix Message Queues on MPC5668G

Jump to solution
275 Views
tim_09
Contributor II

Hello,

 

I'm trying to implement a bare metal code for the MPC5668G. Is it possible to use the Posix Message Queues on this controller or are there different methods to implement messages between the two cores?

 

Thanks and best regards

Tim

Labels (1)
0 Kudos
1 Solution
180 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

both cores can access whole memory map, so data can be simply shared in RAM memory. You can allocate required amount of RAM in the linker file. If cache memory is enabled on e200z6 core, make sure that shared area is configured in MMU as cache inhibited to ensure data coherency.

It is also possible to use semaphores to ensure data coherency on application level (i.e. before a core can update or read memory coherently, it has to check the semaphore to see if other core is not already updating the memory).

It is also possible to use software interrupt to inform other core that required data are already present in shared memory.

Posix Message Queues - this is just software implementation. It depends which software (OS) you use...

Regards

Lukas

View solution in original post

0 Kudos
1 Reply
181 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

both cores can access whole memory map, so data can be simply shared in RAM memory. You can allocate required amount of RAM in the linker file. If cache memory is enabled on e200z6 core, make sure that shared area is configured in MMU as cache inhibited to ensure data coherency.

It is also possible to use semaphores to ensure data coherency on application level (i.e. before a core can update or read memory coherently, it has to check the semaphore to see if other core is not already updating the memory).

It is also possible to use software interrupt to inform other core that required data are already present in shared memory.

Posix Message Queues - this is just software implementation. It depends which software (OS) you use...

Regards

Lukas

0 Kudos