Requisitos de UEFI para suporte a flash USB
A Microsoft fornece várias soluções flash baseadas em USB para uso em ambientes de engenharia e fabricação. Para que um dispositivo seja usado com essas ferramentas, o ambiente UEFI no dispositivo deve atender aos requisitos listados neste tópico.
Esses requisitos relacionados ao flashing expandem os requisitos uefi listados nos requisitos uefi que se aplicam a todas as edições do Windows e aos requisitos de UEFI para Windows 10 Mobile.
Protocolos UEFI necessários
Protocolo | Detalhes do requisito |
---|---|
Protocolo de função USB | Para o flash USB no USB 3.0, o firmware deve implementar a revisão do protocolo de função USB UEFI 0x00010002 ou superior, incluindo suporte para o EFI_USBFN_IO_PROTOCOL. Configurar a funçãoEnableEndpointsEx . Para obter mais informações, consulte Protocolo de função USB UEFI. |
BlockIO | As soluções de flash USB fornecidas pela Microsoft selecionam o primeiro ponteiro retornado para um dispositivo de armazenamento de E/S de bloco diferente de zero para piscar. O dispositivo pode ser um armazenamento não removível ou removível. |
Evento de dessenc da UEFI (opcional)
Os componentes UEFI que tentam ler ou gravar em disco durante o flash devem implementar suporte para o evento dessincronização UEFI (EFI_EVENT_GROUP_FIRMWARE_DESYNC), conforme descrito na tabela a seguir.
Requisito | Descrição |
---|---|
Suporte aos serviços de inicialização uefi | O firmware UEFI deve dar suporte aos Serviços de Evento, Temporizador e Prioridade de Tarefa, conforme definido na seção 6.1 da Especificação UEFI 2.3.1. |
GUID do grupo de eventos | A Microsoft define o EFI_EVENT_GROUP_FIRMWARE_DESYNC com o seguinte GUID: {24FA5E72-1A82-49A2-970B-3230372662A5} |
Eventos de firmware UEFI | Identifique todos os componentes de firmware uefi que exigem atualizar ou sincronizar seu estado de volta ao armazenamento regularmente. Em cada um desses componentes, crie um evento associado ao EFI_EVENT_GROUP_FIRMWARE_DESYNC e um NotifyFunction() que faz com que o componente pare de atualizar/sincronizar de volta ao armazenamento. NotifyFunction() do evento deve executar todas as operações de limpeza necessárias para que o componente faça a transição para o modo dessincronizado. Após essa limpeza, o componente não deve atualizar nem sincronizar seu armazenamento novamente com flash até a próxima reinicialização do dispositivo. Se NotifyFunction do evento falhar(), notifyFunction() não deverá retornar EFI_SUCCESS. |
O exemplo de código a seguir demonstra como o firmware pode criar o evento GUID do 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
);
Tópicos relacionados
Requisitos mínimos de UEFI para Windows em plataformas SoC
Requisitos de UEFI que se aplicam a todas as edições do Windows