Hello, I'm trying to make a software reboot on the mini2440, but I was unable to use this pinvoke : http://www.pinvoke.net/default.aspx/coredll.kerneliocontrol it didn't worked. I think it is not implemented in the WinCE image, I was wondering in put a trasistor on the nRst pin with a Gpio on its base, so I can toogle the Gpio pin and restart it, but it seems strange that I need to do it through hardware, some one knows something about it ? thanks
Software reboot on windows CE 6.0 in mini2440
[DllImport("coredll.dll")] private static extern bool KernelIoControl(uint dwIoControlCode, byte[] inBuf, uint inBufSize, byte[] outBuf, uint outBufSize, ref uint bytesReturned); private const uint FILE_DEVICE_HAL = 0x00000101; private const uint METHOD_BUFFERED = 0; private const uint FILE_ANY_ACCESS = 0; private static uint CTL_CODE(uint DeviceType, uint Function, uint Method, uint Access) { return ((DeviceType << 16) | (Access << 14) | (Function << 2) | Method); } public static void SoftReset() { uint bytesReturned = 0; uint IOCTL_HAL_REBOOT = CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS); KernelIoControl(IOCTL_HAL_REBOOT, null, 0, null, 0, ref bytesReturned); }
Hello, I've tryied this code, but it didn't worked, I think this function is not implemented in the BSP. have you tried ? I will try to use the Watch Dog Timer to do it. thanks !