Skip to content

Crash Protection (microDiagnostics)#

The Framegrabber SDK provides a crash protection which is enabled when the user application crashes during reconfiguration.

PCI Bus Connection#

During FPGA live reconfiguration (which starts when you activate an applet), the frame grabber disappears from the PCI bus for a short time. However, the disappearance of a device from the PCI bus isn't supported by all motherboards.

If the motherboard doesn't support disappearing of a device from the PCI bus: The FPGA reconfiguration fails, and a Windows blue screen may appear. In this case, the crash protection is enabled. To avoid a further blue screens, FPGA live reconfiguration (i.e., activating an applet) is disabled. This is effective in the tools microDiagnostics, microDisplay X, and in the Framegrabber API using the function call Fg_Init.

You will only be able to load the already active applet. To activate another applet (that is, to configure the FPGA with another applet):

  1. In microDiagnostics, define the partition the other applet has been flashed to as boot partition.
  2. Power-cycle the computer.

Since the partition the intended applet is stored on is the boot partition now, during booting, the FPGA is flashed with the applet stored in this partition.

User Application Crash#

The crash protection is also activated when the user application crashes during reconfiguration. In this case, you can re-enable FPGA live reconfiguration in microDiagnostics (so that you can activate any of the flashed applets on the frame grabber). To do that:

  1. In microDiagnostics, select the the frame grabber device board you want to reconfigure.
  2. Activate the partition that contains applet you want to use.
  3. In the dialog that appears (see below), click Activate Anyway. Now, the live configuration is enabled again.

    Activation Disabled


If you re-enable live configuration (by clicking Activate Anyway) although the crash protection was enabled due to a blue screen, this will result in a blue screen again.