Вопросы по iNav
Добрый день. Хочу скомпилировать у себя прошивку для айнава, но не могу. Пользовался этими инструкциями на ГИТХАБЕ Проблему я получаю вот тут когда дохожу до пункта TEST
Test Run C:\devtools\shF4.cmd
If everything went according the manual you should be in mingw console window. (if not we need to update this manual)
Try command “arm-none-eabi-gcc --version” and output should be like in screenshot. (tab complete works here)
arm-none-eabi-gcc --version И ловлю текст что нету такой команды у меня.
Isami@Isami-PC MINGW64 /c/devtools $ arm-none-eabi-gcc --version bash: arm-none-eabi-gcc: command not found
Isami@Isami-PC MINGW64 /c/devtools $
Сначало я ставил все из инструкции, но уже установил 64 битку и нечего все равно. Операционка у меня Windows 7 x64. Можете подсказать как можно еще скомпилить прошивку?
В инструкции неправильно указано, что нужно установить просто gcc. Это набор для сборки программ для инструментального компьютера. Для сборки прошивки для ПК нужен кросс “компилятор” arm-none-eabi-bla-bla Если собрались собирать не пожилые сборки, берите версию 10.3. Для старых версий нужна и версия кросс компилятора пониже (иначе полезут “ошибки”) 10.3
Вот еще про установку кросскомпиляторов habr.com/en/post/673522/
Я еще виртуалку ставил, а там в линуксе по инструкции собирал. Чисто альтернатива, если с виндой совсем не попрет.
Если собрались собирать не пожилые сборки
5.0 с моими переделками. Хорошо спасибо за инфу буду пробовать!
Да, виртуалка очень хороший способ. Если комп не старый и памяти достаточно, то замедления работы не вооруженным глазом не видно. Вчера пробовал собирать inav для Mtek F411-WTE V6.0 собралась без “танцев”, но в конфигураторе мультики отображаются с задержкой. Надо разбираться что тормозит. Стоковая прошивка на этих ПК V4.1. Пробовал собирать и ее. Без успеха, какието затычки. Однако в настоящий момент для ветки 4.1 нет таргета MATEKF411TE. Пришлось переключиться на новую ветку и утащить оттуда. Правда не добавлял новый таргет а заменил имеющийся MATEKF411.
То же самое делал для веток 2.6. Собирается, но аксель с гиро не работают. Скорее всего тогда не был реализован драйвер нового акселя.
Ага. И все еще не выяснил, начиная с какой ветки inav waypoints поддерживаются.
Еще. Кто знает как совсем отключать поддержку разных свойств, чтоб не занимало код? В старом baseflight все прозрачно, есть отдельный .h, где все вкл и выкл можно.
Ага. И все еще не выяснил, начиная с какой ветки inav waypoints поддерживаются.
Пока смотрю. В версии 1.2 уже были полеты по точкам.
Какой-то идиотизм, вроде разобрался с arm-none-eabi-gcc пишу в
Isami@Isami-PC MINGW32 /c/devtools
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc.exe (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824
(release)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Пишу cd inav
make TARGET=NAZE
и ловлю
bash: make: command not found
UPD с make разобрался, теперь не понимаю что в директории айнава нету файла makefile… Как этот файл создать? Что для этого нужно?
Какая-то странная инструкция на гитхабе. Вообще нечего не понятно, такое впечатление что она устарела или не работает совсем или ее не проверяли.
Читайте параллельную статейку про более нативную сборку под Linux
Можно начать раздела “Using cmake”
*cd inav
# first time only, create the build directory
mkdir build
cd build
cmake …
# note the “…”, this is required as it tells cmake where to find its ruleset *
В более поздних версиях (c 2.6) сборка делается посредством cmake. Их есть у Вас?
Сначала запуск cmake …
Потом уже выполняете make:
# Build the MATEKF405 firmware make MATEKF405
Есть еще засада с тем, что target NAZE (а именно МК STM32F1xx) не поддерживается начиная с версии 1.73 Меня этот факт тоже много огорчает, придется мастырить, вкрячивать поддержку F1 в одну из более поздних версий. С какой? Несколькими сообщениями ранее я задавал этот вопрос - поддержка waypoints Антон ответил, что с V 1.2, но я позволю усомниться. Даже в V1.73 КМК ее нет. В CLI команда wp не выполняется.
В CLI команда wp не выполняется
Думаете в те времена была поддержка команд CLI для точек? У Юлиана есть ролик по полетам по точкам и там уже была версия 1.8. Но в ченжлоге по 1.8 не написано, что начиная с этой версии добавили полет по точкам.
Дело в том что я не совсем понимаю как скомпилить прошивку, я как выше писал стал это делать по инструкции, в итоге с вашей помощью разобрался с gcc. Дальше дело не продвинулось, я немного удивлен что для сборки inav нужно на комп установить 10 программ, знаком с arduino(multiwii), vs studio(компилил dll). Там конечно то-же кое что нужно но не так. На счет cmake я так понял это то что делает подготовку к компиляции или определяет набор под конкретную задачу? Проблема в том что я скачал софтину, (cmake) но так и не понял что в ней делать, пытался это делать через gui, но там постоянно какие-то ошибки. Типа таких…
– found arm-none-eabi-gcc 10.3.1 at C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2021.10/bin/arm-none-eabi-gcc.exe – expecting arm-none-eabi-gcc version 10.2.1, but got version 10.3.1 instead – downloading arm-none-eabi-gcc 10.2.1 from …arm.com/…/gcc-arm-none-eabi-10-2020-q4-major-win3… CMake Error at cmake/arm-none-eabi-checks.cmake:65 (file): file DOWNLOAD HASH mismatch
for file: [C:/devtools/inav/downloads/gcc-arm-none-eabi-10-2020-q4-major-win32.zip]
expected hash: [5ee6542a2af847934177bc8fa1294c0d]
actual hash: [d41d8cd98f00b204e9800998ecf8427e]
status: [35;"SSL connect error"]
Call Stack (most recent call first): cmake/arm-none-eabi-checks.cmake:113 (arm_none_eabi_gcc_install) cmake/arm-none-eabi-checks.cmake:119 (arm_none_eabi_gcc_check) CMakeLists.txt:37 (include)
CMake Error at CMakeLists.txt:40 (project): Generator
Visual Studio 17 2022
could not find any instance of Visual Studio.
Configuring incomplete, errors occurred! See also “C:/Program Files/CMake/bin/CMakeFiles/CMakeOutput.log”.
То есть из логов мне надо vs 2017 поставить и еще чего-то с gcc не так ему…
cmake - собственно делает Makefile из множества CMakeLists.txt Предварительно создаете папку сборки, напр buildб перемещаетесь в нее и запускаете cmake … Именно с 2 точками, что отсылает cmake на корневую папку проекта и соотв CMakeLists.txt В пред сообщении движок форума понавставлял лишних символов, которые я не смог удалить даже последущим редактированием сообщения. После успешного выполнения cmake в текущей папке сборке генерируется Makefile После чего запускаете make с указанием нужного target. Коза заржала и побежала… )))
cmake еще делает проверки наличия или отсутствия нужных ПО для сборки. Поройтесь по CmakeLists.txt и найдите где выполняется проверка наличия и версии кросскомпилятора. Можно и прямо в тексте подправить версию требуемого компилятора до 10.3.
Однако в документации упоминается, что можно отключить проверку версии компилятора в строке запуска cmake.
надеюсь понимаете что некоторые проблемы со сборкой под Win от того что разные компоненты в разных оболочках (командных, со своими настройками путей) и не могут найти остальные инструменты для сборки. Установка VS - лишнее. Попробуйте освоить сборку под Docker. Эта штука подтягивает нужные образы, которые уже содержат нужные пакеты (ПО) для сборки и настройки. Под убунту сборка через Docker запускается при помощи ./build.sh <TARGET>
То есть скомпилить cmakelist я не могу без vs 17? Действительно убрал другие ошибки, но требует визуал. По моему проще виртуалку поставить если в ней скомпилить все просто.
Доброго времени суток, уважаемые! Помогите с такой проблемой: полетник -matek F405-miniTE , приемник-GEPRC ELRS Nano. Полетник прошил под инав 5.0, приёмник прошил так же как и все остальные. В настройках выставил порты. GPS, магнитометр все заработало, а приёмник во вкладке “приёмник” признаков жизни не подаёт 😦 уже и провода rx, tx местами менял, и порты щелкал, все бестолку. Что такое понять не могу…
А телеметрия с приемника на аппу идет? Связь-то есть?
Да, забыл сказать, передатчик приёмник судя по всему видео, т.к rssi скачет и когда включаешь, передатчик ругается что приёмник все ещё включен. Попозже скину скриншоты, может по ним будет ясно что к чему…
При прошивке приемника галочка на Uart_inverted не стояла случаем? Model Match в луа скрипте глянуть еще, вдруг он там ON.
Вообще тут или прикладывать скрины всех настроек или идти в Телегу в группу “свидетели ELRS” и там проходиться поиском, постоянно такие вопросы всплывают.
Модел мач выключен. Передатчик 100% конектится с приёмником, с приёмника данные на пульт идут, во всяком случае rssi отображается. Такое чувство что сам полетник не видит приёмник. Вот фотка страницы портов и приёмника. Что за фигня не пойму. Может что то нужно ещё включить где-то?.. Вот ссылка на страницу полетника: www.mateksys.com/?portfolio=f405-minite Там в описании говорится про tx2
Телегу в группу “свидетели ELRS”
Только предупредить бы надо… Там упоротые в личку могут писать. Удалил этот канал.
приемник-GEPRC ELRS Nano. Полетник прошил под инав 5.0, приёмник прошил так же как и все остальные. В настройках выставил порты. GPS, магнитометр все заработало, а приёмник во вкладке “приёмник” признаков жизни не подаёт
Если есть свободные UART’ы попробовать туда припаять, так же можно попробовать припаять RX на один, а TX на другой. Ещё можно без TX попробовать. Посмотрите так же настройки всяких дуплексов и инверсии. Проверить версии передатчика и приемника, зайти по WiFi, проверить инвертирован ли сигнал.
Только предупредить бы надо… Там упоротые в личку могут писать. Удалил этот канал.
Не знал. Мне никто не писал. Потому предупредить не могу)
Такое чувство что сам полетник не видит приёмник
Похоже. Что-то на сайте про него столько варнингов… стремный он какой-то, конечно. Может и есть какой-то подвох, который они не указали. Другой полетник есть для проверки?