Exigences UEFI pour la prise en charge du flashage USB
Microsoft fournit plusieurs solutions de flashing USB à utiliser dans les environnements d’ingénierie et de fabrication. Pour qu’un appareil soit utilisé avec ces outils, l’environnement UEFI sur l’appareil doit répondre aux exigences répertoriées dans cette rubrique.
Ces exigences liées au flashage s’étendent à celles de l’UEFI répertoriées dans Exigences UEFI qui s’appliquent à toutes les éditions de Windows.
Protocoles UEFI requis
Protocole | Détails des conditions requises |
---|---|
Protocole de fonction USB | Pour le flashage via USB 3.0, le microprogramme doit implémenter la révision 0x00010002 ou ultérieure du protocole de fonction USB UEFI, y compris la prise en charge de la fonction EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpointsEx. Pour plus d’informations, consultez Protocole de la fonction USB UEFI. |
BlockIO | Les solutions de flashage USB fournies par Microsoft sélectionnent le premier pointeur renvoyé vers un périphérique de stockage de données d’E/S de blocs de taille non nulle pour le flashage. L’appareil peut être un dispositif de stockage amovible ou non amovible. |
Événement desync UEFI (facultatif)
Les composants UEFI qui tentent de lire ou d’écrire sur le disque pendant le flashing doivent implémenter la prise en charge de l’événement desync UEFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC), comme décrit dans le tableau suivant.
Spécification | Description |
---|---|
Prise en charge des services de démarrage UEFI | Le microprogramme UEFI doit prendre en charge les services d’événement, de minuteur et de priorité des tâches, comme défini dans la section 6.1 de la spécification UEFI 2.3.1. |
GUID d’un groupe d’événements | Microsoft définit l’EFI_EVENT_GROUP_FIRMWARE_DESYNC avec le GUID suivant : {24FA5E72-1A82-49A2-970B-3230372662A5} |
Événements de microprogramme UEFI | Identifiez tous les composants du microprogramme UEFI qui nécessitent l’actualisation ou la synchronisation de leur état sur le stockage régulièrement. Dans chacun de ces composants, créez un événement associé à l’EFI_EVENT_GROUP_FIRMWARE_DESYNC et à un NotifyFunction() qui empêche l’actualisation/la synchronisation du composant vers le stockage. NotifyFunction() de l’événement doit effectuer toutes les opérations de nettoyage nécessaires pour que le composant passe au mode désynchronisé. Après ce nettoyage, le composant ne doit pas actualiser ou synchroniser son stockage avec flash jusqu’au prochain redémarrage de l’appareil. Si l’événement NotifyFunction échoue(), notifyFunction() ne doit pas retourner EFI_SUCCESS. |
L’exemple de code suivant montre comment le microprogramme peut créer l’événement GUID du groupe d’événements :
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
);
Rubriques connexes
Configuration minimale requise de l'UEFI pour Windows sur les plateformes SoC
exigences UEFI qui s’appliquent à toutes les éditions de Windows