Condividi tramite


Requisiti UEFI per il supporto di flashing USB

Microsoft offre diverse soluzioni flashing basate su USB per l'uso in ambienti di progettazione e produzione. Affinché un dispositivo venga usato con questi strumenti, l'ambiente UEFI nel dispositivo deve soddisfare i requisiti elencati in questo argomento.

Questi requisiti relativi al lampeggiamento ampliano i requisiti UEFI elencati in , che si applicano a tutte le edizioni di Windows.

Protocolli UEFI necessari

Protocollo Dettagli dei requisiti
Protocollo di funzione USB Per il flashing USB su USB 3.0, il firmware deve implementare la revisione del protocollo di funzione UEFI USB 0x00010002 o superiore, incluso il supporto per la funzione EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpointsEx. Per altre informazioni, vedere protocollo di funzione USB UEFI.
BlockIO Le soluzioni di flashing USB fornite da Microsoft selezionano il primo puntatore restituito per un dispositivo di archiviazione I/O a blocchi con dimensioni non nulle per il flashing. Il dispositivo di archiviazione può essere fisso o rimovibile.

Evento desync UEFI (facoltativo)

I componenti UEFI che tentano di leggere o scrivere su disco durante il flashing devono implementare il supporto per l'evento di desync UEFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC) come descritto nella tabella seguente.

Requisito Descrizione
Supporto dei servizi di avvio UEFI Il firmware UEFI deve supportare i servizi di priorità per eventi, timer e attività, come definito nella sezione 6.1 della specifica UEFI 2.3.1.
GUID del gruppo di eventi Microsoft definisce il EFI_EVENT_GROUP_FIRMWARE_DESYNC con il GUID seguente: {24FA5E72-1A82-49A2-970B-3230372662A5}
Eventi del firmware UEFI Identificare regolarmente tutti i componenti del firmware UEFI che richiedono l'aggiornamento o la sincronizzazione dello stato nell'archiviazione. In ognuno di questi componenti, creare un evento associato al EFI_EVENT_GROUP_FIRMWARE_DESYNC e una NotifyFunction() che causa l'interruzione dell'aggiornamento o della sincronizzazione del componente con l'archiviazione. NotifyFunction() dell'evento deve eseguire qualsiasi operazione di pulizia necessaria per il componente per passare alla modalità desynchronizzata. Dopo questa pulizia, il componente non deve aggiornare o sincronizzare nuovamente la risorsa di archiviazione con flash fino al successivo riavvio del dispositivo. Se NotifyFunction dell'evento ha esito negativo(), NotifyFunction() non deve restituire EFI_SUCCESS.

L'esempio di codice seguente illustra come il firmware potrebbe creare l'evento GUID del gruppo di eventi:

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

requisiti UEFI minimi per Windows su piattaforme SoC

requisiti UEFI applicabili a tutte le edizioni di Windows