Поделиться через


Моделирование обновления встроенного ПО для виртуальных УСТРОЙСТВ CFU

В этом разделе представлено пошаговое руководство по имитированному обновлению встроенного ПО на виртуальном устройстве HID.

Примечание.

CFU доступен в Windows 10 версии 2004 (обновление Windows 10 мая 2020 г.) и более поздних версий.

Создание и установка примера виртуального устройства HID CFU

  1. Установите Visual Studio 2019 и комплект драйверов Windows (WDK), как описано в разделе "Скачать комплект драйверов Windows (WDK)".

  2. Клонирование репозитория Microsoft CFU в локальный каталог репозитория

    git clone https://github.com/microsoft/CFU.git

  3. В локальном каталоге репозитория CFU в командной строке выполните следующие команды git, чтобы получить подмодул Driver Module Framework (DMF), необходимый для сборки примера:

    git submodule init

    git submodule update

  4. Создание решения устройства CfuVirtualHid в Visual Studio

    1. Перейдите к расположению файла CfuVirtualHid.sln в системе разработки. Например:

      C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\CfuVirtualHid.sln

    2. Откройте файл CfuVirtualHid.sln в Visual Studio.

    3. В меню Построение выберите пункт Построить решение. Вы увидите выходной текст, указывающий, что решение успешно создано:

      Успешное выполнение сборки CfuVirtualHid.

  5. Установка устройства и драйвера CfuVirtualHid

    1. Перейдите к расположению файла cfuvirtualhid.inf в системе разработки. Например:

      C:\<your_repo_folder>\CFU\Host\CFUFirmwareSimulation\x64\Debug\CfuVirtualHid

    2. В командной строке администратора выполните следующую команду:

      devcon.exe install cfuvirtualhid.inf HID\CFU_VIRTUAL_DEVICE
      

      Вы увидите выходной текст, указывающий, что виртуальное устройство успешно установлено:

      Успешное выполнение установки устройства CfuVirtualHid.

  6. В панель управления откройте диспетчер устройств, выберите меню "Вид" и выберите пункт меню "Устройства" по типу меню.

  7. В списке устройств разверните узел встроенного ПО и выберите устройство CfuVirtualHid, как показано ниже:

    Выбрано устройство CfuVirtualHid.

  8. Щелкните правой кнопкой мыши устройство CfuVirtualHid, чтобы открыть контекстное меню, а затем выберите пункт меню "Свойства", чтобы открыть диалоговое окно свойств устройства CfuVirtualHid.

  9. Откройте вкладку "Сведения" в диалоговом окне свойств устройства CfuVirtualHid, а затем выберите идентификаторы оборудования в раскрывающемся списке свойств .

    Вы должны увидеть HID\CFU_VIRTUAL_DEVICE в списке значений, как показано ниже:

    HID\CFU_VIRTUAL_DEVICE в списке значений.

  10. В меню диспетчер устройств выберите меню "Вид" и выберите пункт меню "Устройства" по элементу меню подключения.

    CfuVirtualHid просматривает устройства по подключению.

  11. Перейдите к устройству CfuVirtualHid и разверните узел устройства CfuVirtualHid, разверните узел устройства HID Framework (VHF) и выберите элемент списка устройств, совместимых с HID, как показано ниже:

    Элемент списка устройств, совместимых с HID.

  12. Щелкните правой кнопкой мыши устройство, совместимое с HID, чтобы открыть контекстное меню, а затем выберите пункт меню "Свойства", чтобы открыть диалоговое окно свойств устройства, совместимого с HID.

  13. Откройте вкладку "Сведения" в диалоговом окне "Свойства устройства, совместимые с HID", а затем выберите идентификаторы оборудования в раскрывающемся списке свойств .

    Вы должны увидеть HID\VID_045E&UP:FA00_U:00F5 в списке значений, как показано ниже:

    Устройство HID VID в списке значений.

Установка обновления встроенного ПО для виртуального устройства HID CFU

В этом разделе приведен пример установки обновления встроенного ПО на примере устройства CfuVirtualHid Device, встроенного в Visual Studio 2019 и установленного с помощью средства командной строки devcon.exe, как описано в приведенном выше разделе.

  1. Перейдите к расположению INF-файла и предложения встроенного ПО и полезных данных .bin файлов для целевого устройства. Например:

    шаг 1.

  2. В текстовом редакторе откройте INF-файл обновления встроенного ПО. В этом примере мы будем использовать файл CfuVirtualHidDeviceFwUpdate.inf , описанный в конфигурации INF CFU.

  3. В 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
    
  4. В командной строке администратора выполните следующую команду:

    pnputil /add-driver CfuVirtualHidDeviceFwUpdate.inf /install

    Эта команда вернет выходные данные служебной программы PnP. Например:

    Выходные данные служебной программы pnp.

  5. В диспетчер устройств перейдите к узлу устройства CfuVirtualHid, а затем разверните узел, чтобы убедиться, что обновление встроенного ПО CfuVirtualHidDevice установлено, как показано ниже.

    установлено обновление встроенного ПО виртуального устройства cfu виртуального устройства.

  6. Выберите узел обновления встроенного ПО CfuVirtualHidDevice, а затем откройте окно свойств обновления встроенного ПО CfuVirtualHidDevice, как показано ниже:

    Окно свойств обновления встроенного ПО виртуального устройства cfu виртуального устройства.

  7. В окне свойств обновления встроенного ПО CfuVirtualHidDevice выберите вкладку "Сведения", а затем выберите идентификаторы оборудования в раскрывающемся списке свойств, как показано ниже:

    идентификаторы оборудования в раскрывающемся списке свойств.

  8. Убедитесь, что устройство HID\VID_045E&UP:FA00_U:00F5 отображается в значении идентификаторов оборудования обновления встроенного ПО CfuVirtualHidDevice.

    идентификаторы оборудования в списке значений.

  9. Используйте приложение TraceView для просмотра сведений о сообщении журнала для установки виртуального устройства HID CFU. Например:

    Сведения о сообщении журнала traceview.