MIMXRT1050-EVK QSPI Flash

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MIMXRT1050-EVK QSPI Flash

ソリューションへジャンプ
1,651件の閲覧回数
brucebarnes
Contributor I

We are planning to use QSPI flash instead of HyperFlash in our custom board.  On the MIMXRT1050-EVK board there is a QSPI flash that can be enabled by removing the default HyperFlash chip and adding some jumpers.

Where can I find the flash driver for the QSPI flash similar to the MIMXRT1050-EVK_S26KS512S.cfx flash driver for the HyperFlash?

The application note AN12107 describes how to enable boot from the HyperFlash and the SD Card.  Where is the similar information on how to enable boot from the QSPI flash?

0 件の賞賛
返信
1 解決策
1,109件の閲覧回数
geovarghese
Contributor II
0 件の賞賛
返信
3 返答(返信)
1,109件の閲覧回数
hnchenjian
Contributor I

algorithm.png

KEIL QSPI algorithm


const flexspi_nor_config_t Serialflash_config =
{
.memConfig =
{
.tag = FLEXSPI_CFG_BLK_TAG,
.version = FLEXSPI_CFG_BLK_VERSION,
.readSampleClkSrc = kFlexSPIReadSampleClk_LoopbackInternally,
.csHoldTime = 3u,
.csSetupTime = 3u,
.columnAddressWidth = 0u,
.deviceModeCfgEnable = 0,
.waitTimeCfgCommands = 0,
// Disable DDR mode, Wordaddassable, Safe configuration, Differential clock
.controllerMiscOption =
// (1u << kFlexSpiMiscOffset_DdrModeEnable) |
// (1u << kFlexSpiMiscOffset_WordAddressableEnable) |
// (1u << kFlexSpiMiscOffset_SafeConfigFreqEnable) |
// (1u << kFlexSpiMiscOffset_DiffClkEnable)|
0,
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_60MHz,
.lutCustomSeqEnable = 0,
.sflashA1Size = 8u * 1024u * 1024u,
.dataValidTime = {16u, 16u},
.busyOffset = 1,
.busyBitPolarity = 0,
.lookupTable =
{
// Read LUTs
//[4 * NOR_CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x03, RADDR_SDR, FLEXSPI_1PAD, 0x18),
//[4 * NOR_CMD_LUT_SEQ_IDX_READ+1] = FLEXSPI_LUT_SEQ(READ_SDR, FLEXSPI_1PAD, 0x04,STOP, FLEXSPI_1PAD, 0x00),

[4 * NOR_CMD_LUT_SEQ_IDX_READ] = FLEXSPI_LUT_SEQ(CMD_SDR, FLEXSPI_1PAD, 0x6b, RADDR_SDR, FLEXSPI_1PAD, 0x18),
[4 * NOR_CMD_LUT_SEQ_IDX_READ+1] = FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x08,READ_SDR, FLEXSPI_4PAD, 0x04),
},
},
.pageSize = 256u,
.sectorSize = 4u * 1024u,
.blockSize = 32u * 1024u,
.ipcmdSerialClkFreq = 0,
};

0 件の賞賛
返信
1,109件の閲覧回数
brucebarnes
Contributor I

Thanks that document has the information we were looking for.

0 件の賞賛
返信
1,110件の閲覧回数
geovarghese
Contributor II
0 件の賞賛
返信