Dear Champs,
My customer failed to read qspi flash at SK and IDK board as below log at some time.
They faced this qspi read fail after running some time, and there is no issue at initial.
~~~~~~~~~
BOARDInit status [0x0]
Flash Manufacturer ID = 0
Device ID = 0
SUCCESS!!!Block erase successful
FAILURE!!!Read Write test failed
~~~~~~~~~~~~
They implemented qpsi flash read as below. Could you please guide me where they should check?
~~~~~~~~
static const qspiAppObj_t QSPIAPPOBJ_DEFAULT =
{
0U, /* chipSelect */
0U, /* instNum */
0U, /* instAddr */
DEVICE_ID_FLASH_MX66L51235F, /* devId */
0U, /* length*/
{
{
0U, /* chipSelect */
0U, /* memMapBaseAddr */
0U, /* cfgBaseAddr */
QSPI_LIB_READ_TYPE_QUAD, /* qspiLibReadType */
QSPI_LIB_TX_MODE_MEMORY_MAPPED, /* qspiLibTxMode */ //QSPI_LIB_TX_MODE_CONFIG_MODE, //
},
{
(64U * MEM_SIZE_MB),/* deviceSize */
0x19U,/* flashDevId */
0xC2,/* flashMfgId */
(4U * MEM_SIZE_KB),/* sectorSize */
(64U * MEM_SIZE_KB),/* blockSize */
}
}
};
~~~~~~~
gQspiAppReadWriteObj = QSPIAPPOBJ_DEFAULT;
qspiLibInfo = gQspiAppReadWriteObj.qspiLibInfo;
/* The length of data in bytes to be transferred to QSPI Flash */
gQspiAppReadWriteObj.length = 4U * MEM_SIZE_KB;
CONSOLEUtilsPrintf("BOARDInit status [0x%x]\n", status);
qspiLibInfo.qspiLibCtrlInfo.cfgBaseAddr = QSPI_CONFIG_BASE_ADDR;
/* Set the QSPI memory mapped base Address from chibdb*/
qspiLibInfo.qspiLibCtrlInfo.memMapBaseAddr = 0x30000000;//0;
qspiLibInfo.qspiLibCtrlInfo.chipSelect = 0;
/* Initialise the QPSI controller */
QSPILibInit(&qspiLibInfo);
/* Display manufacturer and device ID of QSPI flash */
QSPILibPrintId(&qspiLibInfo);
~~~~~~~~~~
My customer is using TI-RTOS Processor SDK v6.1 and this issue was occurred at SK and IDK AM437x EVM boards both.
Please guide me where they should check.
Thanks and Best Regards,
SI.