Sdílet prostřednictvím


Požadavky rozhraní UEFI pro podporu usb flashingu

Microsoft poskytuje několik řešení flashingu založených na USB pro použití v technických a výrobních prostředích. Aby bylo možné zařízení používat s těmito nástroji, musí prostředí UEFI na zařízení splňovat požadavky uvedené v tomto tématu.

Tyto požadavky související s procesem aktualizace (flashování) rozšiřují požadavky rozhraní UEFI uvedené v , které platí pro všechny edice systému Windows.

Požadované protokoly UEFI

Protokol Podrobnosti požadavku
Protokol funkce USB Při USB flashování přes USB 3.0 musí firmware implementovat revizi protokolu UEFI USB 0x00010002 nebo vyšší, včetně podpory funkce EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpointsEx. Další informace najdete v protokolu funkce UEFI USB.
BlockIO Řešení pro USB flashování poskytované Microsoftem vybere první ukazatel vrácený k blokovému úložnému zařízení I/O s neukázatelnou velikostí pro flashování. Zařízení může být nevyměnitelné nebo vyměnitelné úložiště.

Událost desynchronizace UEFI (volitelné)

Komponenty rozhraní UEFI, které se během blikání pokusí číst nebo zapisovat na disk, musí implementovat podporu události desynchronizace rozhraní UEFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC), jak je popsáno v následující tabulce.

Požadavek Popis
Podpora spouštěcích služeb UEFI Firmware rozhraní UEFI musí podporovat služby Event, Timer a Task Priority Services definované v části 6.1 specifikace UEFI 2.3.1.
GUID skupiny událostí Microsoft definuje EFI_EVENT_GROUP_FIRMWARE_DESYNC s následujícím identifikátorem GUID: {24FA5E72-1A82-49A2-970B-3230372662A5}
Události firmwaru UEFI Identifikujte všechny komponenty firmwaru UEFI, které pravidelně vyžadují aktualizaci nebo synchronizaci stavu zpět do úložiště. V každé z těchto komponent vytvořte událost přidruženou k EFI_EVENT_GROUP_FIRMWARE_DESYNC a NotifyFunction(), která způsobí, že komponenta přestane aktualizovat nebo synchronizovat zpět do úložiště. Funkce NotifyFunction() události by měla provádět všechny operace čištění nezbytné pro přechod komponenty do desynchronizovaného režimu. Po tomto vyčištění nesmí komponenta aktualizovat ani synchronizovat úložiště zpět s flash pamětí, dokud nedojde k příštímu restartu zařízení. Pokud se událost NotifyFunction nezdaří(), funkce NotifyFunction() by neměla vracet EFI_SUCCESS.

Následující příklad kódu ukazuje, jak firmware může vytvořit událost GUID skupiny událostí:

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
);

minimální požadavky rozhraní UEFI pro Windows na platformách SoC

požadavky rozhraní UEFI, které platí pro všechny edice Windows