HI anyone,
I got a problem when using s32k358 usdhc/sdio to config wifi module 88w8987.
After download FW success, it need to read some data from the module, but it will always got uncorrect data at somewhere, but there is no error during transfer(no CRC or DMA error).
I have disabled D-cache and I-cache, and do not use DMA, the no help.
And when the data uncorrect, it always uncorrect in first 4 bytes, as bellow picture:
Could anyone give me a hand ?
Thanks very much.
Hi @jiangyaqiang ,
Did you try to put data buffer into the non-cache memory? like this:
Best regards,
Nhi
HI:
Thanks for reply.
I have fixed the problem, it's because of hardware not good, I need to turn low the frequency , but not too low , it's ok for 1M , but fail at 400K.
but I have another problem when use DMA and cache, it will cache in function:
hwAcc_ArmCoreMx_DataCacheCleanByAddr(
false,
(uint32_t)(content->data->txData == NULL ? content->data->rxData : content->data->txData),
(content->data->blockSize) * (content->data->blockCount));
it will fail in the while of the function
hwAcc_ArmCoreMx_DataCacheCleanByAddr
{
while(tmpAddr < endAddr)
{
*pDataCacheCleanByAddr = tmpAddr;
MCAL_DATA_SYNC_BARRIER();
MCAL_INSTRUCTION_SYNC_BARRIER();
tmpAddr = tmpAddr + cacheLineSize; /* Clean 1 line at a time. */
}
}
do you have any idea about it ?
Hi @jiangyaqiang ,
I was attached an example for DMA and cache enabled. Please refer to it.
Best regards,
Nhi