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?