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.

RTOS/LAUNCHXL-CC2650: Semaphore Delay

Part Number: LAUNCHXL-CC2650

Tool/software: TI-RTOS

Hello,

I'm running one task and one Interrupt routine. A Semaphort_post is taking 700 clock cycles to complete AND it's taking another 1,000 cycles to run the task that pended to that semaphore. The interrupt does complete 30 clock cycles after the post and then nothing runs for about 1,000 cycles!!??

//Pending task code:

 	      yes_dear[i]= Semaphore_pend(Semaphore_handle(&(object->blockComplete)), object->ui32requestTimeout);
 		  inhanced_audio[i].wcnt = HWREG(I2S0_BASE + I2S_O_STMPWCNT); //Reading WCNT latches XNT
 		  inhanced_audio[i].i2sModulus = HWREG(I2S0_BASE + I2S_O_STMPXCNT);// % HWREG(I2S0_BASE + I2S_O_STMPXPERMIN);

//Post in the interrupt handler:

   stampy[stampTick].wordCount1 = HWREG(I2S0_BASE + I2S_O_STMPWCNT);
   stampy[stampTick].bClocks1 = HWREG(I2S0_BASE + I2S_O_STMPXCNT);
   Semaphore_post(Semaphore_handle(&(object->blockComplete)));
   stampy[stampTick].wordCount2 = HWREG(I2S0_BASE + I2S_O_STMPWCNT);
   stampy[stampTick].bClocks2 = HWREG(I2S0_BASE + I2S_O_STMPXCNT);

Thank you, Ken Koch

bclock1 is about 70, bclock2 is about 800 and i2smodulus is about 1,800. There is some variation in these numbers.

PS: Could there be a configuration option for the Task, HWI or semaphore modules that would cause this?