本人利用C6657双核开发板进行图像处理,现在算法在单核已经能够运行,我想请教如何利用多核机制在裸机上实现多核数据搬移,比如我Core_0处理后的图像数据,需要Core_1进行下一步处理,现已初步掌握了IPC寄存器进行核间中断的方法,那核间数据是通过共享内存比如MSM或者DDR来怎样进行交互呢?是在共享内存区域在不同内核定义相同名称的数组,或是其他方式呢?本人刚刚接触DSP希望不吝赐教。谢谢!
Andy Yin1:
如果数据存放在共享memory,每个核都是直接读写共享memory,则可以使用共享内存,core0在写完共享内存后,可以发个中断给core1通知数据已经准备好;如果读写的数据在内部LL2,则可以使用EDMA/PKTDMA进行数据搬移,可以配置产生数据搬移完成中断。
multicore program guide中有核间数据交换的描述。
http://www.ti.com/lit/an/sprab27b/sprab27b.pdf
SHUAI XIANG:
回复 Andy Yin1:
请问不同内核定义在共享内存的数组变量,对所有内核都是可见的是么?
Thomas Yang1:
回复 SHUAI XIANG:
是的,所有核都能访问的