Compartir a través de


Requisitos de UEFI para la compatibilidad con flashing USB

Microsoft proporciona varias soluciones de flash basadas en USB para su uso en entornos de ingeniería y fabricación. Para que un dispositivo se use con estas herramientas, el entorno UEFI del dispositivo debe cumplir los requisitos enumerados en este tema.

Estos requisitos relacionados con el flashing amplían los requisitos de UEFI enumerados en requisitos ueFI que se aplican a todas las ediciones de Windows y a los requisitos de UEFI para Windows 10 Mobile.

Protocolos UEFI necesarios

Protocolo Detalles del requisito
Protocolo de función USB Para el flash USB a través de USB 3.0, el firmware debe implementar la revisión del protocolo de función USB UEFI 0x00010002 o superior, incluida la compatibilidad con el EFI_USBFN_IO_PROTOCOL. Función ConfigureEnableEndpointsEx . Para obtener más información, consulte Protocolo de función USB UEFI.
BlockIO Las soluciones de memoria flash USB proporcionadas por Microsoft seleccionan el primer puntero devuelto a un dispositivo de almacenamiento de E/S de bloque distinto de cero para parpadear. El dispositivo puede ser un almacenamiento no extraíble o extraíble.

Evento de desincronización de UEFI (opcional)

Los componentes ueFI que intentan leer o escribir en el disco durante el flashing deben implementar la compatibilidad con el evento desincronización ueFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC) tal y como se describe en la tabla siguiente.

Requisito Descripción
Compatibilidad con los servicios de arranque UEFI El firmware UEFI debe admitir los servicios de eventos, temporizadores y prioridad de tareas, tal y como se define en la sección 6.1 de la especificación UEFI 2.3.1.
GUID del grupo de eventos Microsoft define el EFI_EVENT_GROUP_FIRMWARE_DESYNC con el SIGUIENTE GUID: {24FA5E72-1A82-49A2-970B-3230372662A5}
Eventos de firmware ueFI Identifique todos los componentes de firmware de UEFI que requieran actualizar o sincronizar su estado de nuevo en el almacenamiento de forma periódica. En cada uno de estos componentes, cree un evento asociado con el EFI_EVENT_GROUP_FIRMWARE_DESYNC y notifyFunction() que haga que el componente deje de actualizar o sincronizarse de nuevo con el almacenamiento. NotifyFunction() del evento debe realizar las operaciones de limpieza necesarias para que el componente pase al modo desincronizado. Después de esta limpieza, el componente no debe actualizar ni sincronizar su almacenamiento con flash hasta el siguiente reinicio del dispositivo. Si se produce un error en NotifyFunction(), NotifyFunction() no debe devolver EFI_SUCCESS.

En el ejemplo de código siguiente se muestra cómo el firmware podría crear el evento GUID del grupo de eventos:

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

Requisitos mínimos de UEFI para Windows en plataformas SoC

Requisitos de UEFI que se aplican a todas las ediciones de Windows

Requisitos de UEFI para Windows 10 Mobile