Other Parts Discussed in Thread: SEGGER, BLE-STACK
Tool/software: TI-RTOS
Hello everyone.
SDK : sdk_3_10_00_15
Base Project : SImple_Central
We are experiencing random ICall_Abort because of the gapCentralRole task.
When my gapCentralRole task is initializing it calls osal_snv_read():
static void gapCentralRole_init(void) { // Register the current thread as an ICall dispatcher application // so that the application can send and receive messages. ICall_registerApp(&selfEntity, &syncEvent); // Get link DB maximum number of connections #ifndef STACK_LIBRARY linkDBNumConns = linkDB_NumConns(); #endif /* STACK_LIBRARY */ // Initialize parameters // Restore items from NV VOID osal_snv_read(BLE_NVID_IRK, KEYLEN, gapCentralRoleIRK); VOID osal_snv_read(BLE_NVID_CSRK, KEYLEN, gapCentralRoleSRK); VOID osal_snv_read(BLE_NVID_SIGNCOUNTER, sizeof(uint32_t), &gapCentralRoleSignCounter); }
which uses of icall_directAPI.
In icall_directAPI I get a timeout when my application running on ICall_waitMatch:
ICall_Errno errno; void *pCmdStatus = NULL; errno = ICall_waitMatch(ICALL_TIMEOUT_PREDEFINE, matchLiteCS, NULL, NULL, (void **)&pCmdStatus); if (errno == ICALL_ERRNO_TIMEOUT) { #ifdef HALNODEBUG #elif defined(EXT_HAL_ASSERT) HAL_ASSERT(HAL_ASSERT_CAUSE_ICALL_TIMEOUT); #else /* !EXT_HAL_ASSERT */ ICall_abort(); #endif /* EXT_HAL_ASSERT */ }
Causing an ICall_abort.
So far, we have only added one task with priority 1, so that the gapCentralRole task stays the highest priority at 5.
Could you please indicate us a known issue, or any direction to solve this problem ?
Best regards.