TI 工程师你们好:
有一个关于 C66xx L2 CACHE 的问题。 L2 设为 一半 CACHE 一半 SRAM,L1D cache 也开启了。 使用 QMSS 来做核间通信, 申请的描述符处于 L2 SRAM 区且是全局地址,即0x1081xxxx, 0x12810000这样的地址。
L2 SRAM 的数据会被 L1D cache, 同时我也看到 DSP cache pdf 中说的 snoop commands, 即 L2 SRAM 在 CORE 和 EDMA/IDMA 之间的硬件一致性协议。那对于 PKTDMA 会保证一致性吗。 可以保证的是每个 core 只写入或读取属于自己的那一片 L2 SRAM, 写入后就会送到 qmss txq , 从 rxq 收到后会读取描述符数据。
core 写入数据后填入 txq 前会需要再 wb_L1D 吗, 同样的rxq 出来访问描述符数据前需要 inv_L1D 吗? 根据我的理解是需要的,但我们之前的代码没有加这两个对 L1D cache 的操作感觉也没出过问题,是我理解的有问题吗, 还是 PKTDMA 也有硬件一致性协议吗?