Hi All,
We have customized the new qspi nor flash, model gd25q64c, changed the LUT and other configurations found to be able to read and write, but can not run the code in xip mode, there is no introduction about flexspi_nor_config_t or the principle of xip, of course, if you know how to transplant gd25q64c Will be more perfect.
Looking forward to your answer!
Best regards!
Hi tom
one can check GD25LQ64C example in sect.5.4.1. How to program the
image to GD25LQ64C, sect.5.1. How to add or remove boot header for XIP targets
AN12183 FlexSPI NOR debug
https://www.nxp.com/docs/en/nxp/application-notes/AN12183.pdf
use latest MCUXpresso sdk
Welcome | MCUXpresso SDK Builder
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for your reply!
I tried some methods, but now I found that I can use the IAR project to download to the flash and click the Run button to run. After booting, the program will not start. what is the reason?
Attach code:
const flexspi_nor_config_t qspiflash_config =
{
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackFromDqsPad,
.csHoldTime = 3u,
.csSetupTime = 3u,
.columnAddressWidth = 0u,
.deviceModeCfgEnable = 1u,/*设备模式配置使能*/
.deviceModeType = 1u,/*Quad 使能命令*/
.deviceModeSeq.seqNum = 1u,/*LUT序列号*/
.deviceModeSeq.seqId = 4u, /*LUT序列索引*/
.deviceModeArg = 0x000200,/*设置 QE=1(S9)*/
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_100MHz,//80MHz for Winbond, 100MHz for GD, 133MHz for ISSI
.sflashA1Size = 0x800000u,//8MBytes
.lookupTable =
{
//Quad Input/output read sequence
[0] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, GD25Q_FastReadQuad, RADDR_SDR, FLEXSPI_4PAD, FLASH_ADDR_LENGTH),
[1] = FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x08, READ_SDR, FLEXSPI_4PAD, 0x08),
},
},
.pageSize = 256u,
.sectorSize = 4u * 1024u,
};