hi,
I'm using IPC example project on C6678 with TransportQmss, which located on c:\ti\pdk6678_1_1_2_5\packages\ti\transport\ipc\qmss\transports. The demo set up 8192 monolithic descriptors in MSMCSRAM to carry messages. This demo runs well on my bord (EVM6678L).
When I decrease the descriptor's num to like 64, problem rises. A_invalidMsg assert occurs.
I find that the descriptors was initalized when ipc_attach() calls TransportQmss_Instance_Init(). In that function Cppi_initDescriptor() modified the descriptors and put them in a free queue. However in memory viwer I find the descriptors were only modified in L2D cache, not in MSMC, which result in an uninitalized descriptor being fetched by Core1. Then the assert happend.
In the original demo with 8192 descriptors, above mentioned error also happend sometimes.
Here is my question:
1.I'm sure L2 cache is not used, why does it still writeback data in L2D?
2.What can I do to make Cppi_initDescriptor() write back the descriptors into MSMC?