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.

LP-AM243: Data mismatched when testing ospi flash diag demo.

Part Number: LP-AM243

Tool/software:

Hi TI

We are integrating a new custom flash device IS25LP128F, we test the ospi flash diag and failed when doing write read test.

We debuged the data and found that data read back is shifted one byte compared to the data we wrote in. What we wrote is [00, 01, 02, 03, 04, .....], but data read back is [01, 02, 03, 04, 05...]. 

We are using sdk version mcu_plus_sdk_am243x_09_02_01_05.

void OSPI_ReadCmdParams_init(OSPI_ReadCmdParams *rdParams)
{
    rdParams->cmd = OSPI_CMD_INVALID_OPCODE;
    rdParams->cmdAddr = OSPI_CMD_INVALID_ADDR;
    rdParams->numAddrBytes = 3;
    rdParams->rxDataBuf = NULL;
    rdParams->rxDataLen = 0;
    rdParams->dummyBits = 0;
}

dummyBits is already set to 0.

We do more test on it, just write 8 bytes from 0 to 7 and then read back.

Write cycle is as expected, 02 is write command, address is 08 00 00, followed by data 0-7.

But in read cycle, data field is not 8 but 9, one more byte than expected. so data read out is [01 - 07 FF].

We don't know why in read cycle, one more byte cycle is performed and why we just trigger one read command but actuallly OSPI controller repeated several times as shown in the above picture.

We need help, looking forward to your reply. Thanks a lot.