Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

OMAPL138 DSP IDLE instruction handling

$
0
0

Hi,

I'm investigating low power operation on an OMAPL138. On the DSP side I want to be able to disable interrupts (clearing GIE in the CSR), run some extra function to reduce power, call the IDLE instruction, re-instate normal operation and then re-enable interrupts. But from what I've seen the GIE bit needs to be set for any interrupts to wake the IDLE instruction up. This means interrupts can occur before normal operation has been reinstated.

In the SPRUFE8B 'TMS320C674x DSP CPU and Instruction Set' document, section 2.8.4 it talks about a PWRD 'Power-down mode field' but there is very little extra information about this field and how (or if) it affects the IDLE instruction. In particular the 'Power-down mode PD1; wake by an enabled or nonenabled interrupt' mode might be useful in this case.

I've looked at the code in sysbios and it seems to also suggest that the GIE bit needs to be enabled to allow the IDLE instruction to return. The __PMI_doIdle assembler function from the pmi_idle.s64P file sets the GIE bit as the IDLE instruction is invoked.

The problem with this is that the interrupt that wakes us up may start using modules that have been powered down and will therefore fail.

Is there a simple solution to this that I'm not seeing?

Thanks

Nigel


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>