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.

CC2640R2F-Q1: GapAdv_prepareLoadByHandle causes exception after several times it is called

Part Number: CC2642R1

running my own CC2642R1 application based on SBP OAD from SDK 1.60.

My app changes the advertising data every 100 msec, and that causes a system crash after 50-500 seconds of run-time, caused by GapAdv_prepareLoadByHandle.

(see call stack at : gs_task.c:1327 :  PC=0x0001A194. Line 1327 calls GapAdv_prepareLoadByHandle)

My code for changing the advertisement data is this:

void gs_updateAdv(uint8_t adv_handle)
{
  bStatus_t status = GapAdv_prepareLoadByHandle(adv_handle, GAP_ADV_FREE_OPTION_DONT_FREE);
  if (status == SUCCESS)
  {
    memcpy(advertData, offline_advertData, sizeof(offline_advertData));
    GapAdv_loadByHandle(adv_handle, GAP_ADV_DATA_TYPE_ADV, sizeof(advertData), advertData);
  }
}

The call stacks at the time of the crash:

0x20003b80, Label: IdleTask, Task Mode: Ready	
    0 ti_sysbios_knl_Task_schedule__I at Task.c:89 :	PC=0x00014AA1
    1 ti_sysbios_knl_Task_restoreHwi__E at Task.c:372 :	PC=0x00026BBC
    2 ti_sysbios_family_arm_m3_Hwi_dispatch__I at Hwi_asm.sv7M:234 :	PC=0x0001228A

0x2000e204, Fxn: gs_taskFxn, Task Mode: Blocked	

    0 ti_sysbios_knl_Task_schedule__I at Task.c:89 :	PC=0x00014AA1
    1 ti_sysbios_knl_Task_restore__E at Task.c:350 :	PC=0x00025CD6
    2 ti_sysbios_knl_Event_pend__E at Event.c:173 :	PC=0x00005896
    3 ICall_waitMatch at icall.c:3661 :	PC=0x0000DE30
    4 icall_directAPI at icall.c:3942 :	PC=0x00015C3C
    5 gs_updateAdv at gs_task.c:1327 :	PC=0x0001A194
    6 gs_updateAdv_leftForReading at gs_task.c:1321 :	PC=0x00026098
    7 gs_taskFxn at gs_task.c:623 :	PC=0x0000F8DC
    8 ti_sysbios_knl_Task_exit__E at Task.c:455 :	PC=0x0001894C

0x2000e254, Fxn: SimplePeripheral_taskFxn, Task Mode: Blocked	
    0 ti_sysbios_knl_Task_schedule__I at Task.c:89 :	PC=0x00014AA1
    1 ti_sysbios_knl_Task_restore__E at Task.c:350 :	PC=0x00025CD6
    2 ti_sysbios_knl_Event_pend__E at Event.c:173 :	PC=0x00005896
    3 SimplePeripheral_taskFxn at simple_peripheral.c:695 :	PC=0x00006F46
    4 ti_sysbios_knl_Task_exit__E at Task.c:455 :	PC=0x0001894C

0x20004588, Fxn: ICall_taskEntry, Task Mode: Preempted	

    0 loader_exit at exit.c:55 :	PC=0x0001FB8C
    1 abort at exit.c:130 :	PC=0x0001FB96
    2 exit at exit.c:121 :	PC=0x0001FBCC
    3 xdc_runtime_System_exit__E at System.c:131 :	PC=0x000278B4
    4 ti_sysbios_BIOS_exitFunc__I at ble_debug_pem4f.c:2519 :	PC=0x000279DA
    5 ti_sysbios_BIOS_exit__E at BIOS.c:122 :	PC=0x00028108
    6 ti_sysbios_family_arm_m3_Hwi_excHandlerMax__I at Hwi.c:1034 :	PC=0x00012640
    7 ti_sysbios_family_arm_m3_Hwi_excHandler__I at Hwi.c:924 :	PC=0x00026A7C