Skip to content

Завантаження завантажувача PX4 на системи Betaflight ​

Ця сторінка документує, як прошивати завантажувач PX4 на плати, які вже мають прошивку Betaflight (наприклад, <0>OmnibusF4 SD</0> або <1>Kakute F7</1>).

Є три інструменти, які можна використовувати для прошивки завантажувача PX4: Конфігуратор Betaflight, командний рядок dfu-util або графічний інструмент dfuse (тільки для Windows).

:::note Конфігуратор Betaflight є найпростішим використанням, але більш нові версії можуть не підтримувати оновлення завантажувача, який не є частиною Betaflight. Ви можете спробувати це спочатку, але скористайтеся іншими методами, якщо оновлення мікропрограми не працює. :::

Оновлення завантажувача в конфігураторі Betaflight ​

:::note Betaflight Configurator може не підтримувати оновлення PX4 Bootloader, на травень 2023 року. Давні версії повинні працювати, хоча точні версії не відомі. :::

Для встановлення завантажувача PX4 за допомогою Конфігуратора Betaflight:

  1. Завантажте або зіберіть прошивку завантажувача для плати, яку ви хочете прошивати.
  2. Завантажте Конфігуратор Betaflight для вашої платформи.

TIP

Якщо ви користуєтеся веб-браузером Chrome, простий крос-платформений альтернативний варіант - встановити конфігуратор як розширення звідси.

  1. Підключіть плату до комп'ютера і запустіть конфігуратор.
  2. Натисніть кнопку Завантажити прошивку [Локально]. Betaflight Configurator - Local Firmware
  3. Виберіть бінарний файл завантажувача з файлової системи, а потім прошейте плату.

Тепер ви повинні змогти встановити прошивку PX4 на плату.

Оновлення завантажувача через DFU ​

Цей розділ пояснює, як перепрошити завантажувач PX4 за допомогою інструменту dfu-util або графічного інструменту dfuse (тільки для Windows).

Спершу вам потрібно завантажити або зібрати прошивку завантажувача для плати, яку ви хочете прошивати (нижче це зазначено як <target.bin>).

:::note Усі наведені нижче методи є безпечними, оскільки мікроконтролер STM32 не може бути "заблокованим"! DFU не може бути перезаписано при прошивці і завжди дозволяє встановити нову прошивку, навіть якщо процес прошивки завершиться невдало. :::

Режим DFU ​

Обидва інструменти вимагають, щоб плата перебувала в режимі DFU. Щоб увійти в режим DFU, утримуйте кнопку завантаження (boot button) натиснутою під час підключення USB-кабеля до вашого комп'ютера. Кнопку можна відпустити після того, як плата буде ввімкнена.

dfu-util ​

:::note Контролери польоту Holybro Kakute H7 v2 м та міні можуть вимагати виконання додаткової команди для стирання параметрів флеш-пам'яті (щоб виправити проблеми зі збереженням параметрів):

dfu-util -a 0 --dfuse-address 0x08000000:force:mass-erase:leave -D build/<target>/<target>.bin

Ця команда може викликати помилку, яку можна ігнорувати. Після завершення введіть режим DFU ще раз, щоб завершити звичайне оновлення. :::

Для прошивки загрузчика на контролер польоту:

dfu-util -a 0 --dfuse-address 0x08000000 -D  build/<target>/<target>.bin

Перезавантажте контролер польоту і дайте йому завантажитися без утримування кнопки завантаження.

dfuse ​

Керівництво dfuse можна знайти тут: https://www.st.com/resource/en/user_manual/cd00155676.pdf

Використовуйте інструмент для прошивки <target>.bin файлу.

Прошивка завантажувача ​

Інструменти вище прошивають вбудоване програмне забезпечення завантажувача. Прошивка завантажувача може бути побудована для більшості цілей за допомогою звичайного вихідного коду PX4, тоді як для інших цілей можна використовувати вихідний код з репозиторію завантажувача.

Плати управління політами, які мають цільові PX4-Autopilot make для завантажувача, можуть збудувати завантажувач із вихідного коду PX4-Autopilot. Список контролерів, яких це стосується, можна отримати, виконавши наступну команду make і зазначивши цілі make, які закінчуються на _bootloader

$make list_config_targets

...
cuav_nora_bootloader
cuav_x7pro_bootloader
cubepilot_cubeorange_bootloader
holybro_durandal-v1_bootloader
holybro_kakuteh7_bootloader
holybro_kakuteh7v2_bootloader
holybro_kakuteh7mini_bootloader
matek_h743-mini_bootloader
matek_h743-slim_bootloader
modalai_fc-v2_bootloader
mro_ctrl-zero-classic_bootloader
mro_ctrl-zero-h7_bootloader
mro_ctrl-zero-h7-oem_bootloader
mro_pixracerpro_bootloader
px4_fmu-v6u_bootloader
px4_fmu-v6x_bootloader

Щоб створити для цих контролерів польоту, завантажте та створіть джерело PX4-Autopilot, а потім створіть ціль за допомогою таких команд:

sh
git clone --recursive https://github.com/PX4/PX4-Autopilot.git
cd PX4-Autopilot
make <target> # For example: holybro_kakuteh7mini_bootloader

Для інших контролерів польоту завантажте репозиторій PX4/Bootloader і створіть вихідний код, використовуючи відповідні цілі:

git clone --recursive  https://github.com/PX4/Bootloader.git
cd Bootloader
make <target> # For example: omnibusf4sd_bl or kakutef7_bl

Перевстановіть Betaflight ​

Для переключення назад на Betaflight:

  1. Резервне копіювання параметрів PX4. Ви можете зробити це, експортуючи їх на SD-карту.
  2. Натисніть і утримуйте кнопку завантажувача, підключивши USB-кабель.
  3. Flash Betaflight як зазвичай за допомогою Betaflight-configurator.