Simulación de actualización de firmware de dispositivo HID virtual de CFU
En este tema se proporciona un tutorial de una actualización de firmware simulada en un dispositivo HID virtual.
Nota:
CFU está disponible en Windows 10, versión 2004 (Actualización de mayo de 2020 de Windows 10) y versiones posteriores.
Compilación e instalación del ejemplo de dispositivo HID virtual CFU
Instale Visual Studio 2019 y el Kit de controladores de Windows (WDK) como se describe en Descargar el Kit de controladores de Windows (WDK) .
Clonación del repositorio de Microsoft CFU en un directorio de repositorio local
git clone https://github.com/microsoft/CFU.git
En el directorio del repositorio CFU local, en un símbolo del sistema, ejecute los siguientes comandos git para obtener el submódulo Driver Module Framework (DMF) necesario para compilar el ejemplo:
git submodule init
git submodule update
Compilación de la solución de dispositivo CfuVirtualHid en Visual Studio
Vaya a la ubicación del archivo CfuVirtualHid.sln en el sistema de desarrollo. Por ejemplo:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\CfuVirtualHid.sln
Abra el archivo CfuVirtualHid.sln en Visual Studio.
En el menú Compilar, seleccione Compilar solución. Debería ver el texto de salida que indica que la solución se ha compilado correctamente:
Instalación del dispositivo y el controlador CfuVirtualHid
Vaya a la ubicación del archivo cfuvirtualhid.inf en el sistema de desarrollo. Por ejemplo:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\x64\Debug\CfuVirtualHid
En un símbolo del sistema administrativo, ejecute el siguiente comando:
devcon.exe install cfuvirtualhid.inf HID\CFU_VIRTUAL_DEVICE
Debería ver el texto de salida que indica que el dispositivo virtual se instaló correctamente:
En Panel de control, abra Administrador de dispositivos, seleccione el menú Ver y seleccione el elemento de menú Dispositivos por tipo.
En la lista de dispositivos, expanda el nodo Firmware y seleccione el dispositivo CfuVirtualHid, como se muestra aquí:
Haga clic con el botón derecho en el dispositivo CfuVirtualHid para abrir el menú contextual y, a continuación, haga clic en el elemento de menú Propiedades para abrir la ventana de diálogo Propiedades del dispositivo CfuVirtualHid.
Seleccione la pestaña Detalles en la ventana de diálogo Propiedades del dispositivo CfuVirtualHid y, a continuación, seleccione Id. de hardware en la lista desplegable Propiedad .
Debería ver hid \CFU_VIRTUAL_DEVICE en el cuadro de lista Valor como se muestra aquí:
En el menú Administrador de dispositivos, seleccione el menú Ver y seleccione el elemento de menú Dispositivos por conexión.
Vaya al dispositivo CfuVirtualHid y expanda el nodo Dispositivo CfuVirtualHid, expanda el nodo del dispositivo HID Framework virtual (VHF) HID y seleccione el elemento de lista de dispositivos compatibles con HID como se muestra aquí:
Haga clic con el botón derecho en el dispositivo compatible con HID para abrir el menú contextual y, a continuación, haga clic en el elemento de menú Propiedades para abrir la ventana de diálogo Propiedades del dispositivo compatible con HID.
Seleccione la pestaña Detalles en la ventana de diálogo Propiedades del dispositivo compatible con HID y, a continuación, seleccione Id. de hardware en la lista desplegable Propiedad .
Debería ver HID\VID_045E&UP:FA00_U:00F5 en el cuadro de lista Valor como se muestra aquí:
Instalación de una actualización de firmware para el dispositivo HID virtual de CFU
En esta sección se proporciona un ejemplo de instalación de una actualización de firmware en el dispositivo CfuVirtualHid de ejemplo integrado en Visual Studio 2019 e instalado con la herramienta de línea de comandos devcon.exe tal y como se describe en la sección anterior.
Vaya a la ubicación del archivo .inf y la oferta de firmware y la carga .bin archivos del dispositivo de destino. Por ejemplo:
En un editor de texto, abra el archivo INF de actualización del firmware. En este ejemplo, usaremos el archivo CfuVirtualHidDeviceFwUpdate.inf descrito en la configuración de CFU INF.
En el archivo INF de actualización de firmware, vaya a la
[Standard.NTamd64]
sección y compruebe que existe la siguiente información para el dispositivo HID\VID_045E&UP:FA00_U:00F5 :[Standard.NTamd64] %CfuVirtualHidDeviceFwUpdate.DeviceDesc%=CfuVirtualHidDeviceFwUpdate, HID\VID_045E&UP:FA00_U:00F5 ; HardwareID for VirtualHidDevice MCU [CfuVirtualHidDeviceFwUpdate.NT] Include = HidCfu.inf Needs = HidCfu.NT CopyFiles = CfuVirtualHidDeviceFwUpdate.CopyFiles [CfuVirtualHidDeviceFwUpdate.NT.Wdf] Include = HidCfu.inf Needs = HidCfu.NT.Wdf
En un símbolo del sistema administrativo, ejecute el siguiente comando:
pnputil /add-driver CfuVirtualHidDeviceFwUpdate.inf /install
Este comando devolverá la salida de la utilidad PnP. Por ejemplo:
En Administrador de dispositivos, vaya al nodo Dispositivo CfuVirtualHid y expanda el nodo para comprobar que se ha instalado la actualización de firmware CfuVirtualHidDevice, como se muestra aquí:
Seleccione el nodo CfuVirtualHidDevice Firmware Update y abra la ventana Propiedades de actualización de firmware de CfuVirtualHidDevice, como se muestra aquí:
En la ventana Propiedades de actualización de firmware de CfuVirtualHidDevice, seleccione la pestaña Detalles y, a continuación, seleccione Id. de hardware en la lista desplegable Propiedad, como se muestra aquí:
Compruebe que el dispositivo HID\VID_045E&UP:FA00_U:00F5 aparece en el valor id. de hardware de la actualización de firmware CfuVirtualHidDevice.
Use la aplicación TraceView para ver la información del mensaje de registro para la instalación del dispositivo HID virtual de CFU. Por ejemplo: