Exigences UEFI pour la prise en charge du flash usb
Microsoft fournit plusieurs solutions de flashage 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 flashing s’étendent aux exigences UEFI répertoriées dans Exigences UEFI qui s’appliquent à toutes les éditions de Windows et exigences UEFI pour les Windows 10 Mobile.
Protocoles UEFI requis
Protocol | Détails des conditions |
---|---|
Protocole de fonction USB | Pour un flash USB sur USB 3.0, le microprogramme doit implémenter la révision du protocole de fonction USB UEFI 0x00010002 ou une version ultérieure, y compris la prise en charge de la EFI_USBFN_IO_PROTOCOL. ConfigureEnableEndpointsEx , fonction. Pour plus d’informations, consultez Protocole de fonction USB UEFI. |
BlockIO | Les solutions de flashage USB fournies par Microsoft sélectionnent le premier pointeur retourné vers un périphérique de stockage d’E/S de bloc de taille non nulle pour le clignotement. L’appareil peut être un stockage non amovible ou 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 de synchronisation UEFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC) comme décrit dans le tableau suivant.
Condition requise | 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 tels que définis dans la section 6.1 de la spécification UEFI 2.3.1. |
GUID du groupe d’événements | Microsoft définit le EFI_EVENT_GROUP_FIRMWARE_DESYNC avec le GUID suivant : {24FA5E72-1A82-49A2-970B-3230372662A5} |
Événements de microprogramme UEFI | Identifiez régulièrement tous les composants du microprogramme UEFI qui nécessitent une actualisation ou une synchronisation de leur état dans le stockage. Dans chacun de ces composants, créez un événement associé à l’EFI_EVENT_GROUP_FIRMWARE_DESYNC et un NotifyFunction() qui entraîne l’arrêt de l’actualisation/synchronisation du composant dans 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 la fonction NotifyFunction de l’événement échoue(), la fonction 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
Exigences UEFI minimales pour Windows sur les plateformes SoC
Exigences UEFI qui s’appliquent à toutes les éditions de Windows