Cannot read QSPI from Bootloader (S5D9)

Hi,

I am trying to create a OTA update for S5D9 IOT Enabler Board(SSP 1.3.2).  Initially writing firmware  to QSPI (0x60000000) location using QSPI driver . i have verified location using memory browser also I can read value using following function. After rebooting i am trying to read Same location(0x60000000) from boot loader using the following function unfortunately Getting value as 0. What will be the problem ?

 

Read function

void qspi_flash_read(ULONG addr, UCHAR *buf, ULONG length)
{    memcpy(buf, (ULONG*)addr, length);
}

 

Bootloader Memory mapping

MEMORY
{
  FLASH (rx)         : ORIGIN = 0x00000000, LENGTH = 0x0200000  /*   2M */
  RAM (rwx)          : ORIGIN = 0x1FFE0000, LENGTH = 0x00A0000  /* 640K */
  DATA_FLASH (rx)    : ORIGIN = 0x40100000, LENGTH = 0x0010000  /*  64K */
  QSPI_FLASH (rx)    : ORIGIN = 0x60000000, LENGTH = 0x4000000  /*  64M, Change in QSPI section below also */
  SDRAM (rwx)        : ORIGIN = 0x90000000, LENGTH = 0x2000000  /*  32M */
}

 

Firmware Memory mapping

MEMORY
{
  FLASH (rx)         : ORIGIN = 0x00020000, LENGTH = 0x01E0000  /*   2M */
  RAM (rwx)          : ORIGIN = 0x1FFE0000, LENGTH = 0x00A0000  /* 640K */
  DATA_FLASH (rx)    : ORIGIN = 0x40100000, LENGTH = 0x0010000  /*  64K */
  QSPI_FLASH (rx)    : ORIGIN = 0x60000000, LENGTH = 0x4000000  /*  64M, Change in QSPI section below also */
  SDRAM (rwx)        : ORIGIN = 0x90000000, LENGTH = 0x2000000  /*  32M */
}

  • Hi all,
    It was my mistake . I had selected the wrong pin configuration for Boot loader application