Моделирование обновления встроенного ПО для виртуальных УСТРОЙСТВ CFU
В этом разделе представлено пошаговое руководство по имитированному обновлению встроенного ПО на виртуальном устройстве HID.
Примечание.
CFU доступен в Windows 10 версии 2004 (обновление Windows 10 мая 2020 г.) и более поздних версий.
Создание и установка примера виртуального устройства HID CFU
Установите Visual Studio 2019 и комплект драйверов Windows (WDK), как описано в разделе "Скачать комплект драйверов Windows (WDK)".
Клонирование репозитория Microsoft CFU в локальный каталог репозитория
git clone https://github.com/microsoft/CFU.git
В локальном каталоге репозитория CFU в командной строке выполните следующие команды git, чтобы получить подмодул Driver Module Framework (DMF), необходимый для сборки примера:
git submodule init
git submodule update
Создание решения устройства CfuVirtualHid в Visual Studio
Перейдите к расположению файла CfuVirtualHid.sln в системе разработки. Например:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\CfuVirtualHid.sln
Откройте файл CfuVirtualHid.sln в Visual Studio.
В меню Построение выберите пункт Построить решение. Вы увидите выходной текст, указывающий, что решение успешно создано:
Установка устройства и драйвера CfuVirtualHid
Перейдите к расположению файла cfuvirtualhid.inf в системе разработки. Например:
C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\x64\Debug\CfuVirtualHid
В командной строке администратора выполните следующую команду:
devcon.exe install cfuvirtualhid.inf HID\CFU_VIRTUAL_DEVICE
Вы увидите выходной текст, указывающий, что виртуальное устройство успешно установлено:
В панель управления откройте диспетчер устройств, выберите меню "Вид" и выберите пункт меню "Устройства" по типу меню.
В списке устройств разверните узел встроенного ПО и выберите устройство CfuVirtualHid, как показано ниже:
Щелкните правой кнопкой мыши устройство CfuVirtualHid, чтобы открыть контекстное меню, а затем выберите пункт меню "Свойства", чтобы открыть диалоговое окно свойств устройства CfuVirtualHid.
Откройте вкладку "Сведения" в диалоговом окне свойств устройства CfuVirtualHid, а затем выберите идентификаторы оборудования в раскрывающемся списке свойств .
Вы должны увидеть HID\CFU_VIRTUAL_DEVICE в списке значений, как показано ниже:
В меню диспетчер устройств выберите меню "Вид" и выберите пункт меню "Устройства" по элементу меню подключения.
Перейдите к устройству CfuVirtualHid и разверните узел устройства CfuVirtualHid, разверните узел устройства HID Framework (VHF) и выберите элемент списка устройств, совместимых с HID, как показано ниже:
Щелкните правой кнопкой мыши устройство, совместимое с HID, чтобы открыть контекстное меню, а затем выберите пункт меню "Свойства", чтобы открыть диалоговое окно свойств устройства, совместимого с HID.
Откройте вкладку "Сведения" в диалоговом окне "Свойства устройства, совместимые с HID", а затем выберите идентификаторы оборудования в раскрывающемся списке свойств .
Вы должны увидеть HID\VID_045E&UP:FA00_U:00F5 в списке значений, как показано ниже:
Установка обновления встроенного ПО для виртуального устройства HID CFU
В этом разделе приведен пример установки обновления встроенного ПО на примере устройства CfuVirtualHid Device, встроенного в Visual Studio 2019 и установленного с помощью средства командной строки devcon.exe, как описано в приведенном выше разделе.
Перейдите к расположению INF-файла и предложения встроенного ПО и полезных данных .bin файлов для целевого устройства. Например:
В текстовом редакторе откройте INF-файл обновления встроенного ПО. В этом примере мы будем использовать файл CfuVirtualHidDeviceFwUpdate.inf , описанный в конфигурации INF CFU.
В INF-файле обновления встроенного ПО перейдите в
[Standard.NTamd64]
раздел и убедитесь, что для устройства 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
В командной строке администратора выполните следующую команду:
pnputil /add-driver CfuVirtualHidDeviceFwUpdate.inf /install
Эта команда вернет выходные данные служебной программы PnP. Например:
В диспетчер устройств перейдите к узлу устройства CfuVirtualHid, а затем разверните узел, чтобы убедиться, что обновление встроенного ПО CfuVirtualHidDevice установлено, как показано ниже.
Выберите узел обновления встроенного ПО CfuVirtualHidDevice, а затем откройте окно свойств обновления встроенного ПО CfuVirtualHidDevice, как показано ниже:
В окне свойств обновления встроенного ПО CfuVirtualHidDevice выберите вкладку "Сведения", а затем выберите идентификаторы оборудования в раскрывающемся списке свойств, как показано ниже:
Убедитесь, что устройство HID\VID_045E&UP:FA00_U:00F5 отображается в значении идентификаторов оборудования обновления встроенного ПО CfuVirtualHidDevice.
Используйте приложение TraceView для просмотра сведений о сообщении журнала для установки виртуального устройства HID CFU. Например: