Inter core communication

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

Inter core communication

2,255 Views
ogj
Contributor IV

I'm using a Vybrid processor (A5 + M4). I need to pass data from the M4 to the A5 core in DDR memory. I can't simply write to a memory space using the M4 and have the A5 read the same space because the A5 data is cached. The A5 would know nothing about the new data. Is there a way to accomplish this?

0 Kudos
6 Replies

1,763 Views
ogj
Contributor IV

Thanks Jack for your reply. I've been playing around with the MCC stuff and it seems to work. Still experimenting.

0 Kudos

1,763 Views
ogj
Contributor IV

I finally found the documentation on MCC in the doc/mcc directory. I'm running MQX on both the A5 and M4 cores. I'm assuming that MCC will still work in this case.

0 Kudos

1,763 Views
ogj
Contributor IV

Since there has been no real answer to this question, I have to assume that there is no reasonable way for the A5 core and M4 cores to talk to each other short of going through some peripheral (such as a UART or SPI port). Sad that no form of non-cached common memory was designed in.

0 Kudos

1,763 Views
jackblather
Senior Contributor I

A shipping product that I developed depends on this Vybrid feature. It works well.

0 Kudos

1,763 Views
jackblather
Senior Contributor I

Look into MCC (MultiCore Communication). If you are using Linux on the A5, there is a driver for that. If you are using MQX on the M4, there is a library for that, too.

MCC, out of the box, doesn't use DDR. It uses part of the on-chip dual-port memory. If you want to use DDR, you'll have to modify the sources for that on both sides.

0 Kudos

1,763 Views
ogj
Contributor IV

I looked through the Vybrid Reference manual (V9) and the MQX RM (V 19 MQX V 4.02) and neither has any mention of dual-ported memory or MCC. Is the dual-ported memory made up using software, or is there an actual hardware dual-port memory hidden somewhere?

0 Kudos