I've configured my Infineon relax kit for max frequency(120 MHz). I've set my SYSTick for a periodic interrupt of 10 ms. For power saving, I use a WFI assembler instruction whenever my processor is idle. WFI (wait for interrupt) should put the processor in low power mode until an interrupt occurs. So my processor should wake up after every 10 ms. But somehow, this WFI instruction slowed down my interrupt frequency to almost 3 times and it wakes up on every third interrupt. It wakes up after every 30 ms. What can be possible reason for WFI not waking up on every interrupt?
Regards
Saqib
Hi saqiba,
Really Interresting Thanks for the sharing !
Well problem's been solved. Problem was that, during sleep mode, my system clock was switched to OFI clock which had lower frequency (36.5 Mhz almost). This caused the factor of 3. So I switched my sleep frequency to PLL frequency in SLEEPCR register. It solved it like a charm.
Hi,
I tried it on a different frequency too. But the problem persists. Can WFI possibly gate the system clock too which is producing interrupts on SYSTick? if that is the case, then system shouldn't wake up at all. But strangely, it wakes up on every third interrupt.
I have got also some problem with another type of board. May you can try to setup the infineon to 80Mhz and re-test it ?
On this board you can have two speed's setup available between 80/120Mhz.
View all questions in Cortex-M / M-Profile forum