
flipperzero-firmware v1.5.0-rc
Flipper Zero — исходный код прошивки
Прошивка Flipper Zero
- Официальный сайт Flipper Zero — Простой способ объяснить друзьям, на что способен Flipper Zero.
- Обновление прошивки Flipper Zero — Улучшения для вашего дельфина: последние выпуски прошивки, инструменты обновления для ПК и мобильных устройств.
- Документация для пользователей — Узнайте больше о вашем дельфине: характеристики, руководства по использованию и всё, что вы хотите спросить.
- Документация для разработчиков — Погрузитесь в исходный код прошивки Flipper Zero: система сборки, структура прошивки и многое другое.
Участие в разработке
Наша главная цель — создать здоровое и устойчивое сообщество вокруг Flipper, поэтому мы открыты для любых новых идей и вклада. У нас также есть некоторые правила и табу, поэтому, пожалуйста, внимательно прочитайте эту страницу и наш Кодекс поведения.
Мне нужна помощь
Лучшее место для поиска ответов — наша Документация для пользователей. Если вы не нашли там ответ, загляните на наш Discord-сервер. Если вы хотите участвовать в разработке прошивки или модифицировать её под свои нужды, вы также можете обратиться к нашей Документации для разработчиков.
Я хочу сообщить о проблеме
Если вы нашли проблему и хотите сообщить о ней, пожалуйста, посетите нашу страницу Issues. Убедитесь, что описание содержит информацию о версии прошивки, которую вы используете, вашей платформе и понятное объяснение шагов для воспроизведения проблемы.
Я хочу предложить новую возможность
Если у вас есть запрос на новую возможность или вы хотите проголосовать за существующий запрос, пожалуйста, используйте Discussions и следуйте нашим Правилам обсуждений.
Я хочу внести свой код
Перед открытием PR, пожалуйста, убедитесь, что ваши изменения действительно должны быть включены в прошивку. Многие идеи легко реализовать в виде внешних приложений и опубликовать в Каталоге приложений Flipper. Если вы не уверены, свяжитесь с нами на Discord-сервере или на странице Issues, и мы поможем вам найти подходящее место для вашего кода.
Кроме того, пожалуйста, прочитайте наше Руководство по внесению вклада и наш Стиль кодирования и убедитесь, что ваш код совместим с нашей Лицензией проекта.
Наконец, откройте Pull Request и убедитесь, что все статусы CI/CD зелёные.
Разработка
Прошивка Flipper Zero написана на C, а некоторые части — на C++ и ассемблере armv7m. Для комфортного программирования рекомендуется средний уровень знания C. Для приложений Flipper поддерживаются языки C, C++ и ассемблер armv7m.
Требования
Поддерживаемые платформы разработки:
- Windows 10+ с PowerShell и Git (x86_64)
- macOS 12+ с инструментами командной строки (x86_64, arm64)
- Ubuntu 20.04+ с build-essential и Git (x86_64)
Поддерживаемые внутрисхемные отладчики (необязательно, но настоятельно рекомендуется):
- Плата разработчика Flipper Zero Wi-Fi
- Совместимые с CMSIS-DAP: Raspberry Pi Debug Probe и т.д...
- ST-Link (v2, v3, v3mods)
- J-Link
Система сборки Flipper позаботится обо всех остальных зависимостях.
Клонирование исходного кода
Убедитесь, что у вас достаточно места, и клонируйте исходный код:
git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Сборка
Соберите прошивку с помощью Flipper Build Tool:
./fbt
Прошивка через внутрисхемный отладчик
Подключите внутрисхемный отладчик к вашему Flipper и залейте прошивку с помощью Flipper Build Tool:
./fbt flash
Прошивка через USB
Убедитесь, что ваш Flipper включён и прошивка работает. Подключите Flipper USB-кабелем и залейте прошивку с помощью Flipper Build Tool:
./fbt flash_usb
Документация
- Flipper Build Tool — сборка, прошивка и отладка ПО Flipper
- Приложения, Манифест приложения — разработка, сборка, развёртывание и отладка приложений Flipper
- Комбинации клавиш и восстановление из «кирпича» — восстановление вашего Flipper из самых неприятных ситуаций
- Форматы файлов Flipper — всё о том, как Flipper хранит ваши данные и как с ними работать
- Универсальные пульты — добавление вашего ИК-пульта в базу универсальных пультов
- И многое другое в Документации для разработчиков
Структура проекта
applications— Приложения и сервисы, используемые в прошивкеapplications_users— Место для ваших дополнительных приложений и сервисовassets— Ресурсы, используемые приложениями и сервисамиdocumentation— Конфигурации и входные файлы системы генерации документацииfuri— Furi Core: примитивы и вспомогательные средства уровня ОСlib— Наши и сторонние библиотеки, драйверы, инструменты и т.д...site_scons— Конфигурация и модули системы сборкиscripts— Вспомогательные скрипты и различные библиотеки Pythontargets— Целевые платформы прошивки: код, специфичный для платформы
Также смотрите файлы ReadMe.md внутри этих каталогов для получения дополнительных сведений.
Ссылки
- Discord: flipp.dev/discord
- Reddit: reddit.com/r/flipperzero
- Сайт: flipper.net
- Kickstarter: kickstarter.com
Инструменты SAST
- PVS-Studio — статический анализатор для кода на C, C++, C# и Java.