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.

6678 多核访问ddr3数据出错



我采用mcsdk的image_process类似框架,通过IPC在多核间传输数据指针(share memoory形式).

1.先在core0中写一段数据到DDR3

2.将指针通过IPC传到core1~7

3.core1~7读取IPC传输指针的地址

问题是:

1.读出数据全是0;

2.加入cache_wb和cache_inv函数后,可以读到数据,但是每8位数据会出现一位错误:

  例如core0写入:0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 。。。读出来是0x10 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x18

  • 1. 是在EVM上测试么?如果是在EVM上测试,可以加上GEL文件完成DDR3的初始化;如果是在你们自己的板子上测试,则可以参考GEL中的DDR初始化文件进行DDR3的初始化并进行DDR3测试;

    2. 在你的这种case下,需要软件维护cache一致性,DDR3上需要保证地址和长度128B对齐,在写完数据后调用CACHE_wbL2,在读写core上需要CACHE_invL2。