Part Number: CC2640
Tool/software: TI-RTOS
Hy,
I have had similar issues in the past, now it unfortunately comes up in series. We have about 5000parts in the field, up to now, there are 5 occurrences of the following:
CC2640 based, battery powered, peripheral devices, some I2C devices attached, crash in different scenarios: They either reboot, get stuck (no advertising, no reaction) or get in a state, where they still advertise but are not connectable. My strong guess is, that this happens during mass data transfer from device to scanner: My device collects data which is transferred to the master by notifications. In my test scenario I try to transfer 4kByte by sending 205 notifications. I always call 6 times GATT_Notification in a for loop, than set another semaphore to send the next 6 packages.
When the devices are in the erroneous state, I observe different phenomens in debug session:
1) Software hangs in MB_SendCommand in mb_PATCH.c
// check for any unexpected Mailbox error
MB_ASSERT( (MB_CMDSTA_REG & 0xFF) == CMDSTA_DONE );
MB_CMDSTA_REG contains 0x87
2) endless loop in osal_bm_free
In function osal_bm_free from osal_bufmgr.c I see an endless loop at
while ( loop_ptr != NULL )
because loop_ptr and loop_ptr->next_ptr; show to the same address.
There is one pecularity: In RTOS Object View (ROV) I see "stackPeak" message "Overrun!". But actually, I always see this, even in well working systems.
Does anyone can give me some hints on where to start to track down this issue?
Regards
Harald


