Обновление аппаратуры на STM32H7 (Updating your STM32H7 radio)

Примечание переводчика. Эта страница взята из следующей версии руководства — v2.12. Мы добавили её в перевод заранее, чтобы владельцы новых аппаратур на базе микроконтроллеров STM32H7 уже сейчас могли получить базовые инструкции по обновлению. В вашей версии прошивки отдельные детали и названия пунктов могут немного отличаться.

Из-за иной архитектуры аппаратуры на микроконтроллерах (MCU) STM32H7 обновляются не так, как вы могли привыкнуть на более старых конструкциях на базе STM32F2 и STM32F4 (то есть прошивка в режиме DFU либо копирование файла на карту памяти / встроенную память с последующей прошивкой загрузчика из прошивки, а прошивки — из загрузчика). У STM32H7 по-прежнему есть режим DFU, но их нельзя прошить традиционными DFU-инструментами.

На данный момент есть по сути два способа их прошивки:

  • Загрузчик (bootloader) и копирование UF2-файла
  • EdgeTX Companion (v2.12 или новее)

Копирование / загрузка файла (UF2)

Этот способ прошивки относительно прост:

  1. Переведите аппаратуру в режим загрузчика (bootloader) — на большинстве аппаратур это делается включением с зажатыми внутрь горизонтальными триммерами, но проверьте порядок для вашей конкретной аппаратуры.
  2. Подключите аппаратуру к компьютеру (не используйте кабель USB-C — USB-C, всегда используйте кабель USB-A — USB-C; скорее всего, он шёл в комплекте с аппаратурой; при необходимости добавьте переходник/хаб).
  3. Сохраните / скопируйте файл обновления прошивки для вашей аппаратуры на диск EDGETX_UF2, который теперь должен появиться в системе. Это можно сделать одним из способов:
    1. заранее скачать прошивку из EdgeTX Buddy на компьютер (или скачать напрямую на аппаратуру);
    2. скачать zip-архив прошивки со страницы GitHub Releases и скопировать из архива прошивку для вашей конкретной аппаратуры.
  4. Как только файл начнёт передаваться на аппаратуру, её экран должен смениться и показать ход обновления.
  5. После завершения обновления можно безопасно извлечь / отключить аппаратуру — она должна перезапуститься автоматически. Теперь и прошивка, и загрузчик аппаратуры будут обновлены!

EdgeTX Companion (DFU/UF2)

Companion может обновлять аппаратуры на STM32H7 двумя способами — через UF2 или через режим DFU. Какой из них используется, зависит от того, в каком состоянии находится пульт при подключении к компьютеру (то есть подключили ли вы его в режиме загрузчика — для UF2 — или в режиме DFU).

  1. Скачайте прошивку. Например, одним из способов:
    1. воспользуйтесь функцией обновления в Companion (Tools → Update Components...);
    2. скачайте через EdgeTX Buddy;
    3. скачайте zip-архив прошивки со страницы GitHub Releases.
  2. Если у вас несколько аппаратур, убедитесь, что в Companion загружен правильный профиль аппаратуры. Иначе Companion не даст записать прошивку — чтобы вы не прошили не ту прошивку в не ту аппаратуру.
  3. Подключите аппаратуру к компьютеру (не используйте кабель USB-C — USB-C, всегда используйте кабель USB-A — USB-C; при необходимости добавьте переходник/хаб). Подключайте аппаратуру либо в режиме загрузчика (для UF2), либо в режиме DFU. Проверьте, как это сделать для вашей конкретной аппаратуры.
  4. Выберите пункт Radio → Write Firmware to Radio. Если Companion не обнаружит аппаратуру ни в режиме DFU, ни в UF2, он покажет предупреждение — устраните проблему и нажмите кнопку Detect на следующем экране, если аппаратура не была обнаружена.
  5. Загрузите / укажите файл прошивки, если он ещё не выбран, и нажмите Write to TX, когда будете готовы. Рекомендуется сделать резервную копию текущей прошивки, если вы давно этого не делали.

Flysky PA01 в режиме загрузчика (UF2)

RadioMaster TX15 в режиме DFU

Если вы прошиваете через DFU, сначала экран аппаратуры будет пустым, а затем изменится, показывая, что аппаратура находится в «режиме DFU» (DFU Mode) — это второй этап прошивки. Пример ниже показан на RadioMaster TX15.

Устранение неполадок

  • Если компьютер не обнаруживает аппаратуру в режиме DFU, обычно это означает либо проблему с USB-кабелем / подключением (кабель «только для зарядки», или использован кабель USB-C — USB-C вместо USB-C — USB-A с хабом/переходником), либо проблему с драйверами на компьютере. Можно установить ImpulseRC Driver Fixer, чтобы исправить / установить необходимые DFU-драйверы.
  • Если при обновлении через UF2 возникает проблема из-за нехватки места на диске EDGETX_UF2, можно либо повторить попытку в режиме DFU, либо пока что связаться с нами в Discord, чтобы получить специальный файл восстановительной прошивки для вашей аппаратуры.