Part Number: AM5718
Other Parts Discussed in Thread: SYSBIOS
Tool/software: Code Composer Studio
A15 send a message using MessageQ_put(), Dsp receive it using MessageQ_get().
After MessageQ_get(), I use Cache_inv() intent to get the real data in DDR.
But, the data in structure MessageQ_Msg is whole Zero after Cache_inv().
I have tried not to use Cache_inv(),there were some data not zero, but I'm not sure the data was correct.
I have tried emulation step into the program, there were data when MessageQ_get(), and after Cache_inv() the data goes whole Zero.
I don't know why the data is in cache, but not in DDR.
char Str[512];
Int status;
Ipc_MsgGrg * Msg;
if(status != MessageQ_S_SUCCESS)
{
return (status);
}
HexToStr(Str, buf, Msg->len);
log_i("<A15,0x%8x,%s", Msg, Str);//log: 37417,COMM, 432,<A15,0x95be4018,BE there is data BE
log_i("<A15,0x%8x,%s", Msg, Str);//log: 37417,COMM, 438,<A15,0x95be4018, no data,no len
The same code use for A15<->IPU1,A15<->IPU2,IPU1<->DSP,A15<-DSP communication is all ok.
Just A15->DSP communication not ok.