This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR6843: QSPI writes to flash - SDK 3.3

Part Number: IWR6843


Team, why is address 0x0 prohibited for flash writes (and subsequently reads)? 

Reference the SDK code - qspiflash.c

QSPIFlash_singleWrite()

line 955:     DebugP_assert((memAddr!= 0U));

Thanks. 

  • Hi Greg,

    I'm checking if the intent of this check is to avoid a NULL / Uninitialized address (even though this is not a pointer variable) or actually avoiding write to the zero-eth location. Please give a couple of days to look into this.

    Thanks

    -Nitin

  • Hi Greg,

    Flash memory is mapped to SOC_XWR18XX_MSS_EXT_FLASH_BASE_ADDRESS which is defined in common/sys_common_xwr68xx_mss as 0xC0000000U so the write address cannot start at zero and this check just ensures that.

    The base address of flash can be retrieved by calling QSPIFlash_getExtFlashAddr().

    Besides checking for a non-zero write address, no additional address checks are done in the function. The caller should check/ensure that the address sent to this function is in the right range of the flash.

    Hope this clarifies.

    Regards

    -Nitin