LPC2148 Idle mode and FreeRTOS

Hi,
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)? Thanks,

LPC2148 Idle mode and FreeRTOS

It should be possible for the idle Hook to disable the system timer if it knew that there is nothing waiting for a timeout, but I don’t know how easy it would be for FreeRTOS to give you that sort of information. One the other hand, if your application doesn’t need short timeouts, it may be possible to lower the tick rate low enough that disabling it isn’t needed. You do talk of an application timer interrupt, so I am assuming you do have some need for a timer, it may be possible that that could be your system tick too.

LPC2148 Idle mode and FreeRTOS

One the other hand, if your application doesn’t need short timeouts, it may be possible to lower the tick rate low enough that disabling it isn’t needed. You do talk of an application timer interrupt, so I am assuming you do have some need for a timer, it may be possible that that could be your system tick too.
I think this might work! For this application I do not need short timeouts for task scheduling. I think I could have my other task be blocked for a UART interrupt. So if this interrupt occurs before the RTOS scheduler tick, it will wake up the processor and also the RTOS scheduler, which would then run the UART task as it would be in the ready state at that time. Thanks!