I've followed the guide (http://processors.wiki.ti.com/images/8/82/OAD_for_CC254x.pdf) to setup my project to compile into an OAD boot image. This causes a problem where OSAL timer events are not being called. The OAD profile and a few others like battery level are working correctly, but the event manager never receives timer events. I think the BIM isn't successfully translating timer ISRs to the image location, or some problem in my OAD_IMAGE_A configuration.
Some things I've tried so far:
Verifying that the HAL_TIMER=TRUE precompiler macro is there.
Using different HAL Timers as the OSAL timer. (changing #define OSAL_TIMER HAL_TIMER_3)
Putting the initial osal_start_timerEx function call in different sections of the code.
Here are some relevant code snipets:
define VELOCOMPUTER_READ_PERIOD 75
//75ms event period
#define VELOCOMPUTER_READ_EVT 4
// Periodic timer event code. Does not overlap with other event codes.
osal_start_timerEx( velocomputerapp_TaskID, VELOCOMPUTER_READ_EVT, VELOCOMPUTER_READ_PERIOD );
//Within a BLE profile changed callback. Begins the timer when host sends command. I've tried moving this line to other locations like the startup event.
VelocompApp_ProcessEvent( uint8 task_id, uint16 events ){
.......
if ( events & VELOCOMPUTER_READ_EVT){
.......
osal_start_timerEx( velocomputerapp_TaskID, VELOCOMPUTER_READ_EVT, VELOCOMPUTER_READ_PERIOD );
}
// Restart the timer when timer event occurs.