
Flipper Zero — исходный код прошивки
Наша главная цель — создать здоровое и устойчивое сообщество вокруг Flipper, поэтому мы открыты для любых новых идей и вклада. У нас также есть некоторые правила и табу, поэтому, пожалуйста, внимательно прочитайте эту страницу и наш Кодекс поведения.
Лучшее место для поиска ответов — наша Документация для пользователей. Если вы не нашли там ответ, загляните на наш Discord-сервер. Если вы хотите участвовать в разработке прошивки или модифицировать её под свои нужды, вы также можете обратиться к нашей Документации для разработчиков.
Если вы нашли проблему и хотите сообщить о ней, пожалуйста, посетите нашу страницу Issues. Убедитесь, что описание содержит информацию о версии прошивки, которую вы используете, вашей платформе и понятное объяснение шагов для воспроизведения проблемы.
Если у вас есть запрос на новую возможность или вы хотите проголосовать за существующий запрос, пожалуйста, используйте Discussions и следуйте нашим Правилам обсуждений.
Перед открытием PR, пожалуйста, убедитесь, что ваши изменения действительно должны быть включены в прошивку. Многие идеи легко реализовать в виде внешних приложений и опубликовать в Каталоге приложений Flipper. Если вы не уверены, свяжитесь с нами на Discord-сервере или на странице Issues, и мы поможем вам найти подходящее место для вашего кода.
Кроме того, пожалуйста, прочитайте наше Руководство по внесению вклада и наш Стиль кодирования и убедитесь, что ваш код совместим с нашей Лицензией проекта.
Наконец, откройте Pull Request и убедитесь, что все статусы CI/CD зелёные.
Прошивка Flipper Zero написана на C, а некоторые части — на C++ и ассемблере armv7m. Для комфортного программирования рекомендуется средний уровень знания C. Для приложений Flipper поддерживаются языки C, C++ и ассемблер armv7m.
Поддерживаемые платформы разработки:
Поддерживаемые внутрисхемные отладчики (необязательно, но настоятельно рекомендуется):
Система сборки Flipper позаботится обо всех остальных зависимостях.
Убедитесь, что у вас достаточно места, и клонируйте исходный код:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Соберите прошивку с помощью Flipper Build Tool:
./fbt
Подключите внутрисхемный отладчик к вашему Flipper и залейте прошивку с помощью Flipper Build Tool:
./fbt flash
Убедитесь, что ваш Flipper включён и прошивка работает. Подключите Flipper USB-кабелем и залейте прошивку с помощью Flipper Build Tool:
./fbt flash_usb
applications — Приложения и сервисы, используемые в прошивкеapplications_users — Место для ваших дополнительных приложений и сервисовassets — Ресурсы, используемые приложениями и сервисамиdocumentation — Конфигурации и входные файлы системы генерации документацииfuri — Furi Core: примитивы и вспомогательные средства уровня ОСlib — Наши и сторонние библиотеки, драйверы, инструменты и т.д...site_scons — Конфигурация и модули системы сборкиscripts — Вспомогательные скрипты и различные библиотеки Pythontargets — Целевые платформы прошивки: код, специфичный для платформыТакже смотрите файлы ReadMe.md внутри этих каталогов для получения дополнительных сведений.