AnsweredAssumed Answered

EMWIN QSPI BOOTING IN i.MXRT EVKB

Question asked by Anjalik Krishna on Jul 5, 2018
Latest reply on Jul 9, 2018 by Scott Thompson

Hi,

 

  I have few queries regarding emWin booting in i.MXRT EVKB  usig QSPI boot.

 

 1.  Has anybody tried flashing emWin GUI demo program to QSPI ?

 

  I am using MCUXpresso . This IDE does not have spi flash driver only hyper flash is available. 

 

  2. Does any of the MCUXpresso latest release supports SPI flash driver ?

 

  The MCUXpresso 10.2 doesnot have SPI flash driver support  so I tried the FLASHLOADER to flash the emwin afx file to QSPI. But this got failed in the first step of converting the  afx to bin file 

 

  elftosb.exe -f imx -V -c ../../bd_file/imx10xx/imx-flexspinor-normal-unsigned.bd -o gui.bin emwin.afx

 

 Also I tried the below step.

   Made  XIP_EXTERNAL_FLASH=1 ,XIP_BOOT_HEADER_ENABLE=1 and XIP_BOOT_HEADER_DCD_ENABLE=0

 

 and changed the code under evkbimxrt1050_flexspi_nor_config.c to 

 

#include "evkbimxrt1050_flexspi_nor_config.h"

/*******************************************************************************
* Code
******************************************************************************/
#if defined(XIP_BOOT_HEADER_ENABLE) && (XIP_BOOT_HEADER_ENABLE == 1)
#if defined(__CC_ARM) || defined(__GNUC__)
__attribute__((section(".boot_hdr.conf")))
#elif defined(__ICCARM__)
#pragma location = ".boot_hdr.conf"
#endif

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,
.configCmdEnable = 0u,
// Enable DDR mode, Wordaddassable, Safe configuration, Differential clock
.controllerMiscOption = 0u,
.deviceType = kFlexSpiDeviceType_SerialNOR,
.sflashPadType = kSerialFlash_4Pads,
.serialClkFreq = kFlexSpiSerialClk_133MHz,
.lutCustomSeqEnable = 0u,
.sflashA1Size = 0x00800000u, /*8 MB/64 Mbit */
.dataValidTime = {16u, 16u},
.lookupTable =
{
// Read LUTs
[0] = FLEXSPI_LUT_SEQ(CMD_DDR, FLEXSPI_1PAD, 0xEB, RADDR_DDR, FLEXSPI_4PAD, 0x18),
[1] = FLEXSPI_LUT_SEQ(DUMMY_SDR, FLEXSPI_4PAD, 0x06, READ_SDR, FLEXSPI_4PAD, 0x02),
[2] = FLEXSPI_LUT_SEQ(STOP,0,0,STOP,0,0),
[3] = FLEXSPI_LUT_SEQ(STOP,0,0,STOP,0,0),

},
},
};
#endif /* XIP_BOOT_HEADER_ENABLE */

 

 

After buildinf the afx file . The FLASHLOADER process was succesful and the image flashed to QSPI but there was no positive result .

Outcomes