-
Bug
-
Resolution: Fixed
-
Medium
-
SimpleLink Lowpower SDK F3 BLE5 Stack
-
BLE_LOKI-698
-
BLE Stack BLE5-3.2.1 RC16
-
-
CC23xx
Device & Configuration affected
- CC2340R5
- Onchip & Offchip OAD
- Fail Reproducibility 100%
Steps to reproduce
- After creating a connection with the CC2340R5
- Start OAD
- Click Cancel
- Click Send again
- Device disconnect and OAD Fails
Workaround:
Behavior is occuring due to the double use of flash_init(). For a workaround, the implementation of the following functions must be replaced in this file source\ti\bleapp\util\sw_updatesw_update.c
Status_t SwUpdate_Open(swUpdateSource_e source)
{
Status_t status = SUCCESS;
if(NULL == pSwUpdateModuleGlobalData)
{
pSwUpdateModuleGlobalData = (swUpdateModuleGlobalData_t *)ICall_malloc(sizeof(swUpdateModuleGlobalData_t));
// Initialize the flash interface
flash_init();
if(NULL == pSwUpdateModuleGlobalData)
}
// This variable controls whether the OAD module uses internal or external flash memory
pSwUpdateModuleGlobalData->pageSize = hasExternalFlash()?EFL_PAGE_SIZE:INTFLASH_PAGE_SIZE;
pSwUpdateModuleGlobalData->pageMask = hasExternalFlash()?(~EXTFLASH_PAGE_MASK): (~INTFLASH_PAGE_MASK);
status = flash_open();
if(status != FLASH_OPEN)
status = readFlash(HDR_OFFSET, (uint8_t *)&(pSwUpdateModuleGlobalData->primaryHdr),sizeof(pSwUpdateModuleGlobalData->primaryHdr));
return (status);
}
And
void SwUpdate_Close(void)
{ flash_close(); }