This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于C6678的MSMC定义变量以及cache一致性的问题



我现在想将6678核0的处理数据可以被核1、核2访问到。目前的想法是在MSMC中定义一个变量开一块内存,将核0的处理数据赋值给MSMC中的变量,然后核1,核2区读取这个变量的值进行下一步操作。现在就是不知道怎么在MSMC中定义一个变量开一块内存,然后保持cache一致性的问题。

希望各位可以把这块的代码贴出来,谢谢大家帮忙。

  •  多核编程参考user guide:http://www.ti.com/lit/an/sprab27b/sprab27b.pdf

    建立一个ccs工程后;

    定义一个全局变量如int array[128]; 利用progma DATA_SECTION(array, ".DDR")将其放到DDR;

    cmd中配置DDR的地址范围;

    配置DDR所在地址的memory 属性为cachable;

    向array写数据,写完后调用csl cache函数刷cache;

    其他的core读之前调用csl cache函数invalid cache,然后再读。

    可以参考STK中的例程,其中有cmd、memory属性配置、cache操作。