现在是这样测试,核0DMA一波数据给核1后将标志位拉高,核1不断检测到拉高之后处理数据并将标志位拉低,并发送给核0 IPC中断。在核0的中断服务函数里再DMA一波数据给核1后将标志位拉高,如此循环。IPC中断采用http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/5219.aspx中的方式,但实际测试核1只收到了一波数据。请高人指点,急!
Andy Yin1:
1. 查看core1是否收到了core0给的标志位syc信号;使用共享变量进行core间同步时,变量需要放在shared memory,如果memory 属性是cacheable,还需在写完之后刷cache,在读取之前需要cache invalid,并将该共享变量定义为volatile;也可以将共享变量memory属性定义为noncacheable;
2. 简单测试core0是否正确响应了core1发过来的IPC;
3. 测试core0在响应core1的ipc后配置的发送EDMA是否正确。