Freigeben über


UEFI-Anforderungen für USB-Flashunterstützung

Microsoft bietet mehrere USB-basierte Flashlösungen für den Einsatz in Entwicklungs- und Fertigungsumgebungen. Damit ein Gerät mit diesen Tools verwendet werden kann, muss die UEFI-Umgebung auf dem Gerät die in diesem Thema aufgeführten Anforderungen erfüllen.

Diese Anforderungen im Zusammenhang mit dem Flashen erweitern die UEFI-Anforderungen, die unter UEFI-Anforderungen aufgeführt sind und für alle Windows-Editionen und UEFI-Anforderungen für Windows 10 Mobile gelten.

Erforderliche UEFI-Protokolle

Protocol Anforderungsdetails
USB-Funktionsprotokoll Beim USB-Flashen über USB 3.0 muss die Firmware die Revision des UEFI-USB-Funktionsprotokolls 0x00010002 oder höher implementieren, einschließlich Unterstützung für die EFI_USBFN_IO_PROTOCOL. ConfigureEnableEndpointsEx-Funktion . Weitere Informationen finden Sie unter UEFI USB-Funktionsprotokoll.
BlockIO Die von Microsoft bereitgestellten USB-Flashing-Lösungen wählen den ersten zurückgegebenen Zeiger auf ein Block-E/A-Speichergerät mit nicht null Größe zum Blinken aus. Das Gerät kann sich nicht als Wechsel- oder Wechseldatenträger befinden.

UEFI-Desync-Ereignis (optional)

UEFI-Komponenten, die versuchen, während des Flashvorgangs zu lesen oder auf den Datenträger zu schreiben, müssen die Unterstützung für das UEFI-Desync-Ereignis (EFI_EVENT_GROUP_FIRMWARE_DESYNC) implementieren, wie in der folgenden Tabelle beschrieben.

Anforderung Beschreibung
Unterstützung von UEFI-Startdiensten Die UEFI-Firmware muss die Ereignis-, Timer- und Taskprioritätsdienste gemäß Abschnitt 6.1 der UEFI 2.3.1-Spezifikation unterstützen.
Ereignisgruppen-GUID Microsoft definiert die EFI_EVENT_GROUP_FIRMWARE_DESYNC mit der folgenden GUID: {24FA5E72-1A82-49A2-970B-3230372662A5}
UEFI-Firmwareereignisse Identifizieren Sie alle UEFI-Firmwarekomponenten, die ihren Zustand regelmäßig aktualisieren oder mit dem Speicher synchronisieren müssen. Erstellen Sie in jeder dieser Komponenten ein Ereignis, das dem EFI_EVENT_GROUP_FIRMWARE_DESYNC und einem NotifyFunction() zugeordnet ist, das bewirkt, dass die Komponente nicht mehr aktualisiert/synchronisiert wird. Die NotifyFunction() des Ereignisses sollte alle Bereinigungsvorgänge ausführen, die für den Übergang der Komponente in den desynchronisierten Modus erforderlich sind. Nach dieser Bereinigung darf die Komponente ihren Speicher bis zum nächsten Geräteneustart nicht mit Flash aktualisieren oder synchronisieren. Wenn die NotifyFunction() des Ereignisses fehlschlägt, sollte notifyFunction() nicht EFI_SUCCESS zurückgeben.

Im folgenden Codebeispiel wird veranschaulicht, wie die Firmware das EREIGNISgruppen-GUID-Ereignis erstellen kann:

gBS->CreateEventEx (
    EVT_NOTIFY_SIGNAL,
    TPL_CALLBACK,
    FIRMWARE_NOTIFICATION_FUNCTION,          // To be defined by SoC Vendor
    &FIRMWARE_NOTIFICATION_FUNCTION_CONTEXT, // To be defined by SoC Vendor
    &EFI_EVENT_GROUP_FIRMWARE_DESYNC,
    &Event                                   // Event returned by CreateEventEx
);

UEFI-Mindestanforderungen für Windows auf SoC-Plattformen

UEFI-Anforderungen, die für alle Windows-Editionen gelten

UEFI-Anforderungen für Windows 10 Mobile