AnsweredAssumed Answered

WinCE 6 + i.MX28: cannot clear AUTO_RESTART

Question asked by Max Herman on May 13, 2013
Latest reply on May 16, 2013 by Karina Valencia Aguilar
Branched to a new discussion

Hello, I'm using imx28 with wince. I need to be able to reboot and shutdown the system.

 

I'm can reboot the system with no problems, using: KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL); 


However I'm having troubles shutting it down. I read power up sequence part of the RM, and aware of everything that makes system boot. I believe, that AUTO_RESTART is the only thing that makes system start. So I'm trying to clear it, and for some reason it doesn't clear.

 

Here is a code that I'm using to shut it down (I'm shutting it down form the keypad driver):

 

HW_RTC_PERSISTENT0_SET(BM_RTC_PERSISTENT0_DISABLE_PSWITCH);

HW_RTC_PERSISTENT0_CLR(BM_RTC_PERSISTENT0_AUTO_RESTART);

Sleep(1000);

if (HW_RTC_PERSISTENT0_RD() & BM_RTC_PERSISTENT0_AUTO_RESTART) GREEN_LED();

     else RED_LED();

Sleep(1000);

KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);

 

Basically, I'm trying to DISABLE_PSWITCH (even thou pin is pulled down to ground), then clear AUTO_RESATRT, then wait little bit, and check if AUTO_RESTART is set (and it is always set), then reboot. System always reboots after running this code.

 

Any suggestions on why AUTO_RESTART is not being cleared (and how to clear it)? Oh how to shut the system down, otherwise?

 

Thanks!

Outcomes