How to wake-up/resume after calling SetSystemPowerState

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to wake-up/resume after calling SetSystemPowerState

跳至解决方案
1,670 次查看
mdlopez
Contributor I

Hi,

We are currently using WINCE 7 and VS 2008. Our processor is an iMX53.

We are currently changing the state of our device to suspend using SetSystemPowerState(NULL, POWER_STATE_SUSPEND, POWER_FORCE) so we can save power when the system is not acquiring any readings. The problem is that after suspending the device using SetSystemPowerState in our application, we are not able to wake it up with a touch in screen, home key or interrupt signal. How we can set a GPIO/interrupt as a wake-up source or configure the i.MX53 to wake of on an interrupt event (E.X. touch screen)? Do we have to modify the registers?

Thanks,

MLopez

标签 (4)
0 项奖励
回复
1 解答
1,466 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Miguel,

Plase note that any enabled interrupt from any module can wake-up i.MX53 from low power mode. General considerations are as following : Please note that any GPIO line can be used as interrupt source, please refer to Chapter 37 "General Purpose Input/Output (GPIO)" of i.MX53 Reference Manual and, particularly, section 37.5.3 "Interrupt Control Unit". Interrupt numbers (IRQ) are given in Table 3-2 "ARM Domain Interrupt Summary". Interrupts are enabled using TZIC, please refer to Chapter 74 "TrustZone Interrupt Controller (TZIC)". Let?s consider Your questions : 1.1. Configure a GPIO line as input ; 1.2. Configure GPIOx_ICR1 or GPIOx_ICR2 as needed (see point 2.) ; 1.3. Configure the TZIC ; 1.4. Enable ARM core interrupts (ISR (service routine) should be provided too). As an example ? section 37.4.4 (GPIO interrupt configuration register1): ?Bits ICRn[1:0] determine the interrupt condition for signal n as follows: 00 Interrupt n is low-level sensitive. 01 Interrupt n is high-level sensitive. 10 Interrupt n is rising-edge sensitive. 11 Interrupt n is falling-edge sensitive. ? All events for GPIO1[0:15] port will be mapped to single IRQ number. In general, one can look at the i.MX53 System Development Users Guide, where GPIO using is described. Please pay attention on sections 10.2.7 (LED Test), 13.2.3 (Example Setting a GPIO), 15.2.4 (Setting Up Card Detection). < http://cache.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf >

Hope this helps

在原帖中查看解决方案

0 项奖励
回复
1 回复
1,467 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Miguel,

Plase note that any enabled interrupt from any module can wake-up i.MX53 from low power mode. General considerations are as following : Please note that any GPIO line can be used as interrupt source, please refer to Chapter 37 "General Purpose Input/Output (GPIO)" of i.MX53 Reference Manual and, particularly, section 37.5.3 "Interrupt Control Unit". Interrupt numbers (IRQ) are given in Table 3-2 "ARM Domain Interrupt Summary". Interrupts are enabled using TZIC, please refer to Chapter 74 "TrustZone Interrupt Controller (TZIC)". Let?s consider Your questions : 1.1. Configure a GPIO line as input ; 1.2. Configure GPIOx_ICR1 or GPIOx_ICR2 as needed (see point 2.) ; 1.3. Configure the TZIC ; 1.4. Enable ARM core interrupts (ISR (service routine) should be provided too). As an example ? section 37.4.4 (GPIO interrupt configuration register1): ?Bits ICRn[1:0] determine the interrupt condition for signal n as follows: 00 Interrupt n is low-level sensitive. 01 Interrupt n is high-level sensitive. 10 Interrupt n is rising-edge sensitive. 11 Interrupt n is falling-edge sensitive. ? All events for GPIO1[0:15] port will be mapped to single IRQ number. In general, one can look at the i.MX53 System Development Users Guide, where GPIO using is described. Please pay attention on sections 10.2.7 (LED Test), 13.2.3 (Example Setting a GPIO), 15.2.4 (Setting Up Card Detection). < http://cache.freescale.com/files/32bit/doc/user_guide/MX53UG.pdf >

Hope this helps

0 项奖励
回复