Hello,
I have a problem with OS_WaitEvent_Timed() function - it raises OS_ERR_DICNT error after waking up event, and entering to this function again.
For ex.:
Few interrupts exists in the system, and all has the same priority. No nested interrupts. I don't see problems with my interrupts. Here is IRQ low level routine:
Using latest 3.88a embOS, Cortex-A5 CPU.
Where could be a problem?
I have a problem with OS_WaitEvent_Timed() function - it raises OS_ERR_DICNT error after waking up event, and entering to this function again.
For ex.:
Few interrupts exists in the system, and all has the same priority. No nested interrupts. I don't see problems with my interrupts. Here is IRQ low level routine:
Source Code
- void OS_irq_handler(void) {
- OS_ISR_HANDLER* pISR;
- pISR = (OS_ISR_HANDLER*) AIC->AIC_IVR; // Read interrupt vector to release nIRQ to CPU core
- OS_EnterInterrupt(); // Inform OS that interrupt handler is running
- pISR(); // Call interrupt service routine
- OS_LeaveInterrupt(); // Leave interrupt, perform task switch if required
- AIC->AIC_EOICR = 0; // interrupt controller => Restore previous priority
- }
Using latest 3.88a embOS, Cortex-A5 CPU.
Where could be a problem?