UEFI-vereisten voor USB-flashing-ondersteuning
Microsoft biedt verschillende USB-gebaseerde flashing-oplossingen voor gebruik in engineering- en productieomgevingen. Om een apparaat te kunnen gebruiken met deze hulpprogramma's, moet de UEFI-omgeving op het apparaat voldoen aan de vereisten die in dit onderwerp worden vermeld.
Deze vereisten met betrekking tot flashen breiden uit op de UEFI-vereisten die worden vermeld in UEFI-vereisten die van toepassing zijn op alle Windows-edities.
Vereiste UEFI-protocollen
Protocol | Details van de vereisten |
---|---|
USB-functieprotocol | Voor USB-flashing via USB 3.0 moet de firmware het UEFI USB-functieprotocol revisie 0x00010002 of hoger implementeren, inclusief ondersteuning voor de functie EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpointsEx. Zie UEFI USB-functieprotocolvoor meer informatie. |
BlockIO | De door Microsoft geleverde USB-flashingoplossingen selecteren de eerste geretourneerde pointer naar een blok-I/O opslagapparaat met een niet-nul grootte om te flashen. Het apparaat kan niet-verwisselbare of verwisselbare opslag zijn. |
UEFI-desynchrone gebeurtenis (optioneel)
UEFI-onderdelen die tijdens het flashen naar de schijf proberen te lezen of schrijven, moeten ondersteuning implementeren voor het UEFI-desynchronisatie-evenement (EFI_EVENT_GROUP_FIRMWARE_DESYNC), zoals beschreven in de volgende tabel.
Eis | Beschrijving |
---|---|
Ondersteuning voor UEFI-opstartservices | De UEFI-firmware moet ondersteuning bieden voor de services gebeurtenis, timer en taakprioriteit, zoals gedefinieerd in sectie 6.1 van de UEFI 2.3.1-specificatie. |
GUID van gebeurtenisgroep | Microsoft definieert het EFI_EVENT_GROUP_FIRMWARE_DESYNC met de volgende GUID: {24FA5E72-1A82-49A2-970B-3230372662A5} |
UEFI-firmware-gebeurtenissen | Identificeer alle UEFI-firmwareonderdelen waarvoor de status regelmatig moet worden vernieuwd of gesynchroniseerd met de opslag. Maak in elk van deze onderdelen een gebeurtenis die is gekoppeld aan de EFI_EVENT_GROUP_FIRMWARE_DESYNC en een NotifyFunction() waardoor het onderdeel stopt met vernieuwen/synchroniseren naar de opslag. De NotifyFunction() van de gebeurtenis moet alle opschoonbewerkingen uitvoeren die nodig zijn om het onderdeel over te schakelen naar de gedesynchroniseerde modus. Na deze opschoning mag de component het geheugen niet vernieuwen of synchroniseren met flash totdat het apparaat opnieuw opstart. Als de NotifyFunction van de gebeurtenis mislukt(), moet de NotifyFunction() geen EFI_SUCCESS retourneren. |
In het volgende codevoorbeeld ziet u hoe firmware de GUID-gebeurtenis van de gebeurtenisgroep kan maken:
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
);
Verwante onderwerpen
Minimale UEFI-vereisten voor Windows op SoC-platforms
UEFI-vereisten die van toepassing zijn op alle Windows-edities