2

I have a single board computer with Intel i5 CPU and Windows 7 32-bit installed. My application runs on Windows 7 and is the only application on the system (application does computer vision stuff; based on a video stream). So I'm interested in using Watchdog to auto-reset Windows on failure.

I developed an application for this (let's say) PC and I would like to use CPU's watchdog (which can be enabled in BIOS). I googled a lot but I couldn't get enough information. I think I should develop a driver! Am I right?

Thomas Weller
  • 55,411
  • 20
  • 125
  • 222
Malik Çelik
  • 302
  • 1
  • 13
  • I would be surprised if a driver is required, but the place to ask is tech support at the motherboard manufacturer. – Carey Gregory Oct 07 '13 at 22:17
  • Aha, so I should ask motherboard manufacturer? ok, thank you very much sir. At least I know what to do. Best wishes – Malik Çelik Oct 09 '13 at 14:47
  • @MalikÇelik I wonder, if were able to solve this problem - I will have to do the same, but pertinent information is hard to find. – Paul Jurczak Jul 01 '14 at 18:12
  • Actually I contacted the manufacturer and they sent me crappy datasheet about the motherboard and how to use watchdog. Also they sent me a sample code for this but the sample code crashed many times with blue screen of death. The BSoDs frightened me to use it, because the system I'm using is very critical and should be stable. Thus I decided to not use the watchdog. Instead I developed my own software watchdog with kernel development (DDK). – Malik Çelik Jul 01 '14 at 21:09

1 Answers1

-1

Your application is running in user mode. A user mode application cannot crash the OS (kernel). Therefore, you

  1. should not need to restart Windows, since Windows remains unaffected by a crash of your program
  2. needn't implement a kernel driver or hardware watchdog
  3. can simply implement another user mode application that queries the list of processes and restarts your application, or, even better, the watchdog application runs your vision application and gets informed about its termination.

In .NET I'd use the Process class (MSDN) to start a process and then call WaitForExit(). That should do the trick.

If that watchdog application ever runs past WaitForExit(), the vision app has terminated. In that case, you can restart the vision app or even restart the PC, whatever you like.

Thomas Weller
  • 55,411
  • 20
  • 125
  • 222