I am working on an event-driven application for the LPC2148. I do not have any RTOS yet, but have started looking at FreeRTOS and want to transition to FreeRTOS soon.
I have a question about FreeRTOS and low-power modes:
My application spends most of its time in Idle mode, wakes up on UART interrrupts or timer interrupt (every few minutes), does processing and goes back to sleep.
From what I understand of FreeRTOS, I think I could put the processor to Idle mode in the Idle Task Hook. However, any interrupt can wake up the processor. So I think the FreeRTOS kernel tick will keep waking up the processor and since none of the tasks are ready to execute at that time, the idle task hook will put the processor back to sleep.
So my question is - when going into the processor’s idle mode, is it also possible to put the kernel to sleep (so that tick interrupts are not generated) and then wake up the kernel only when an interrupt occurs that creates work for my application tasks (uart interrupt or the application timer interrupt in my case)?