We are developing software on OM13092 and we recently try to test it on OM13098 board has there are binary compatible.
I have two OM13098 board on is a rev C and on a rev E (both with a LPC54628).
The same binary works as expected on Rev C but cause a hard fault on Rev E.
We are using FreeRTOS.
I haven't identify what cause the hard fault yet but it is at the very beginning probably during tasks initialization (but after BSP init).
I will continue to investigate but any help would be very appreciated.
Regarding the difference between COMMAND 0xEB and 0x6B, the SPIFI module just generates the timing based on the command, you have to refer to the data sheet of SPI flash to get the difference.
I think we recommend customer use the spifi driver instead of the libspifi library, the libspifi library is a bit complicated.
Hope it can help you
Thank you for your help,
For now, I integrated the new chip in libspifi by duplicating the configuration used for the W25Q32FV. But I had to change the read command from 0xEB (Fast Read Quad I/O) to 0x6B (Fast Read Quad Output). Using 0xEB we were reading the correct data but in a wrong order (nothing to do with endianess).
The problem is now fixed but I would like to understand the cause of the problem.
I see in your example that the spifi is now integrated in a dedicated driver instead of libspifi.
Do you plan to continue maintaining libspifi and integrated new chips in it ? or is the new recommended way to use only the driver ?
Thank you for your help.
After more investigations it happens to be QSPI issue.
We are using LPCSpifilib v1.03 which does not support the new WINBOND QSPI flash (25Q128JVFM).
It causes the memory to fail initialization which leads later to a hard fault.
Is there a version of the LPCSpifilib that support the WINBOND QSPI flash 25Q128JVFM ?