1. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "LetyShops" дает такую возможность!
    Скрыть объявление
  2. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Ardupilot сборка прошивки из исходников под windows

Тема в разделе "F4BY / Swift-Flyer Project", создана пользователем Alexey Kozin, 17 ноя 2016.

  1. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    792
    Город:
    Москва
    Имя:
    Алексей Козин
    Тут беду гундеть про особенности сборки прошивки из исходников

    официальная страничка про то как собирают в эклипсе. ссылка
    вкратце- так называемый дистрибутив тулчэйн представляет из себя набор программ для сборки прошивки. В комплекте есть консольное приложение PX4console откуда следует запускать git команды (toolchain\msys\1.0\px4_console.bat)
    и визуальный редактор кода Eclipse (toolchain\msys\1.0\px4_eclipse.bat)

    прошивки 3.4rc1 и ранние собираются в старой версии тулчейна,
    при попытке сборки релиза arducopter 3.4 получаем ошибку при генерации заголовков мавлинка
    нужно качать новый тулчэйн


    The new toolchain has been uploaded to: http://firmware.ap.ardupilot.org/Tools/PX4-tools/pixhawk_toolchain_installer_latest.exe
    источник - https://github.com/ArduPilot/ardupilot/issues/4966
    решение для линукса по там же
    важно
    перед установкой нового тулчейна удалите старый.
    устанавливайте в ту же папку где стоял старый тулчейн

    порядок таков:
    качаем тулчейн (около полгига), запускаем установку
    создаем папку под исходники например c:\mysources
    запускаем PX4console
    входим в папку исходников cd c:\mysources
    вводим git clone https://github.com/ArduPilot/ardupilot.git
    долго ждем пока завершится скачивание исходников.
    после того как исходники загружены в папке исходников появляется папка ardupilot
    при необходимости выбора конкретной версии прошивки следует выбрать бренч
    например так git checkout master - выберет основной бренч в котором выходят релизы самолетной прошивки
    или так git checkout Copter-3.4 -выберет бренч в котором готовится коптерная прошивка
    затем необходимо инициализировать субмодули
    cd ardupilot
    git submodule update --init --recursive

    в случае переключения бренча в субмодулях могут возникнуть проблемы, в этом случае следует удалить все содержимое папки ardupilot\modules
    и из папки ardupilot выполнить git submodule update --init --recursive

    перед запуском эклипса нужно создать пару файлов проекта эклипс
    переиминовываем или копируем eclipse.cproject в .cproject и eclipse.project в .project
    cp eclipse.cproject .cproject
    cp eclipse.project .project

    запускаем эклипс и создаем проект на основе прописанного в эти файлы
    http://ardupilot.org/dev/_images/EditingWithEclipse_ImportProject.png

    для f4by Arducopter 3.3.2
    git clone https://github.com/Swift-Flyer/ardupilot.git
    git checkout Copter-3.3
    git submodule update --init --recursive

    таргеты для сборки
    f4by квадр
    f4by-hexa гекса
    итд, сокращения для других типов рам см в mk\targets.mk
    FRAMES = quad tri hexa y6 octa octa-quad heli single coax obc nologging
    BOARDS = apm1 apm2 apm2beta apm1-1280 px4 px4-v1 px4-v2 sitl flymaple linux vrbrain vrbrain-v40 vrbrain-v45 vrbrainv-50 vrbrain-v51 vrbrain-v52 vrubrain-v51 vrubrain-v52 vrhero-v10 erle pxf navio bbbmini f4by

    для сборки прошивки из командной строки:
    cd arducopter
    make f4by


    решение проблем с программными субмодулями при переключении от одной версии (branch) к другой.
    сброс всех модулей, из папки ardupilot:
    rm -rf modules/* ; git submodule sync ; git submodule update --init --recursive

    сброс конкретного модуля, из папки модуля:
    git reset --hard

    назначение веток
    https://github.com/dipspb/ardupilot/tree/ArduPlane-3.7.1-f4by-addons - актуальный тестовый репозиторий самолета из которого мы собираем бэты, правим недочеты.
    https://github.com/dipspb/ardupilot/tree/Copter-3.4.4-f4by-addons - актуальный тестовый репозиторий мультироторов из которого мы собираем бэты, правим недочеты.
    https://github.com/dipspb/ardupilot/tree/Copter-3.4.4-f4by - чистый репозиторий без наших улучшений для подготовки процесса слияния в официальный репозиторий https://github.com/ArduPilot/ardupilot

    по мере получения информации об успешных облетах прошивок тестовые репозитории будут перенесены в наш официальный проект https://github.com/Swift-Flyer/ardupilot
     
    Последнее редактирование: 13 янв 2017
    LampGraph и akrb нравится это.
  2. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    539
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Осталось только понять как это применить.
     
  3. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    791
    Город:
    Абакан
    Имя:
    Алексей
    особенно для f4by :)
     
  4. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    614
    Город:
    Омск
    Имя:
    Иван
    А под апм можно свою прошивку сделать и как?
     
  5. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    792
    Город:
    Москва
    Имя:
    Алексей Козин
    дорисую, это пока начало.
    всего два дня поиска решений в инете, проб и ошибок ушло чтобы понять как надо ставить чтобы собиралось..

    3.4 релиз не собирался даже официальный из старых инструментов, собственно неначем даже пробовать собирать под ф4бу
    --- Сообщения объединены, 18 ноя 2016 ---
    под апм коптер 3.2.1 собирается под ардуино, самолет 3.3 тамже
     
  6. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    791
    Город:
    Абакан
    Имя:
    Алексей
    хм а у меня все собралось.
    собирал по этой шпаргалке.
    http://ardupilot.org/dev/docs/building-px4-with-make.html
    upload_2016-11-18_22-6-50.png
    какие то ошибки были но прошивка вроде собралась. Результат во вложении..
     

    Вложения:

  7. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    6.401
    Город:
    Реж
    Имя:
    Тимур
    А на скрине фатальные ошибки - не найдены субмодули. Это не помешает?
     
  8. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    791
    Город:
    Абакан
    Имя:
    Алексей
    я потому и вложил файл. Потому как проверить не на чем и вообще понятия не имею нормально или нет собралось. Но по крайней мере несмотря на ошибки готовый файл собрался
     
  9. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    791
    Город:
    Абакан
    Имя:
    Алексей
    Короче я хз что там не собирается. Сегодня еще раз запустил make px4.
    В итоге все собралось.
    Что что ругается на
    upload_2016-11-25_15-44-28.png
    судя по ответам фигня
    https://groups.google.com/forum/#!msg/drones-discuss/sMzQGgL5BXk/gQWC7PZyGfcJ
    upload_2016-11-25_15-45-55.png
    --- Сообщения объединены, 25 ноя 2016 ---
    http://discuss.ardupilot.org/t/failed-to-get-px4-nuttex-hash/6099/4
    --- Сообщения объединены, 25 ноя 2016 ---
    для пиксрейсера 3.4 тоже собралась
    upload_2016-11-25_16-12-33.png

    upload_2016-11-25_16-14-31.png
     
  10. akrb

    akrb Научный сотрудник

    Регистрация:
    11 авг 2015
    Сообщения:
    539
    Город:
    Коломна
    Имя:
    Рамазан Акоев
    Это, я понял, пикс. А ф4?
     
  11. hyperion

    hyperion Куратор Команда форума

    Регистрация:
    19 фев 2015
    Сообщения:
    791
    Город:
    Абакан
    Имя:
    Алексей
    Ну да. А причем тут ф4. Алексей с Сергеем говорили что обычный коптер не собирается и это их останавливает от сборки релиза под ф4 . Ф4 нету 3.4 чтобы собрать его из гита.
     
  12. Alexey Kozin

    Alexey Kozin APM Guru Команда форума

    Регистрация:
    26 янв 2015
    Сообщения:
    792
    Город:
    Москва
    Имя:
    Алексей Козин
    внес в шапку описание назначения тестовых репозиториев