12 Replies Latest reply on Oct 15, 2019 2:59 AM by WangS_81

    PSoC6 Bootloader Upgradeable BLE Stack and Emulated EEPROM - EEPROM write always fails with flash drive status CY_FLASH_DRV_IPC_BUSY

    TrWi_4480416

      Pre-implementation of the upgradeable BLE stack the Emulated EEPROM component was being successfully used within my application. Post upgradeable ble stack implementation I can no longer successfully perform an EEPROM write.  EEPROM write fails and with some debugging it is determined that the Cy_Flash_SendCmd is returning CY_FLASH_DRV_IPC_BUSY.  All aspects of the bootloading process, both stack and application, work well so in general my Bootloader implementation is sound, only the EEPROM flash writes fail.

       

      I've made no changes to how or where I call my EEPROM writes within my application.  I can only assume that something related to the linker scripts associated with the upgradeable stack implementation has resulted in a conflict.

       

      I have modified the linker scripts to use the CM0 core only.  Note however that both CM0 and CM4 linker scripts contain .cy_em_eeprom sections (untouched from Upgradeable Stack example project)

       

      Anyone experience a similar issue or might know why a Flash write process might fail in this manner?