flipperzero-firmware README

The project's README from github.com/flipperdevices/flipperzero-firmware. As one markdown file: README.md.

A pixel art of a Dophin with text: Flipper Zero Official Repo

Flipper Zero Firmware

Contributing

Our main goal is to build a healthy and sustainable community around Flipper, so we're open to any new ideas and contributions. We also have some rules and taboos here, so please read this page and our Code of Conduct carefully.

I need help

The best place to search for answers is our User Documentation. If you can't find the answer there, check our Discord Server. If you want to contribute to the firmware development or modify it for your own needs, you can also check our Developer Documentation.

I want to report an issue

If you've found an issue and want to report it, please check our Issues page. Make sure the description contains information about the firmware version you're using, your platform, and a clear explanation of the steps to reproduce the issue.

I want to propose a new feature

If you have a feature request or want to vote on an existing one, please use Discussions and follow our Discussion Guidelines.

I want to contribute code

Before opening a PR, please confirm that your changes must be contained in the firmware. Many ideas can easily be implemented as external applications and published in the Flipper Application Catalog. If you are unsure, reach out to us on the Discord Server or the Issues page, and we'll help you find the right place for your code.

Also, please read our Contribution Guide and our Coding Style, and make sure your code is compatible with our Project License.

Finally, open a Pull Request and make sure that CI/CD statuses are all green.

Development

Flipper Zero Firmware is written in C, with some bits and pieces written in C++ and armv7m assembly languages. An intermediate level of C knowledge is recommended for comfortable programming. C, C++, and armv7m assembly languages are supported for Flipper applications.

Requirements

Supported development platforms:

Supported in-circuit debuggers (optional but highly recommended):

Flipper Build System will take care of all the other dependencies.

Cloning source code

Make sure you have enough space and clone the source code:

git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git

Building

Build firmware using Flipper Build Tool:

./fbt

Flashing firmware using an in-circuit debugger

Connect your in-circuit debugger to your Flipper and flash firmware using Flipper Build Tool:

./fbt flash

Flashing firmware using USB

Make sure your Flipper is on, and your firmware is functioning. Connect your Flipper with a USB cable and flash firmware using Flipper Build Tool:

./fbt flash_usb

Documentation

Project structure

Also, see ReadMe.md files inside those directories for further details.

Links

SAST Tools

flipperzero-firmware (flipperdevices/flipperzero-firmware)

Searching Database…

Что это такое?Официальная прошивка с открытым исходным кодом для Flipper Zero — карманного мультитула (дельфин), который умеет общаться с радиоустройствами, картами и считывателями вокруг вас.
Это работает на моём компьютере или на самом устройстве?На самом устройстве: этот репозиторий — исходный код прошивки, которая живёт внутри Flipper Zero. Компьютер нужен только для того, чтобы собрать код и прошить его на дельфина.
Как мне установить эту прошивку на мой Flipper?Склонируйте репозиторий и соберите прошивку с помощью Flipper Build Tool, а затем прошейте её — либо по USB при включённом Flipper, либо через внутрисхемный отладчик.
Что должно быть установлено, чтобы собрать прошивку?Windows 10+, macOS 12+ или Ubuntu 20.04+ с Git и базовыми инструментами сборки; Flipper Build System сам позаботится обо всех остальных зависимостях. Внутрисхемный отладчик (ST-Link, J-Link, CMSIS-DAP или Wi-Fi Dev Board) не обязателен, но крайне рекомендуется.
Мне нужно быть опытным C-разработчиком, чтобы с этим работать?Для комфортной разработки рекомендуется средний уровень C; сами приложения для Flipper можно писать на C, C++ или ассемблере armv7m.
Могу ли я менять прошивку и прошивать свои сборки?Да — код распространяется по лицензии GPL-3.0, так что свои сборки делать можно, если они распространяются под той же лицензией. Изменения, предназначенные для основной ветки, должны быть совместимы с лицензией проекта и проходить CI.
Что Flipper вообще умеет делать с этой прошивкой?Он управляет радио- и считывающими модулями устройства: Sub-GHz радио, RFID, NFC, инфракрасный порт, iButton по однопроводному интерфейсу и Bluetooth LE — в соответствии с темами репозитория. Ещё есть универсальная база ИК-пультов, в которую можно добавлять свои.
Могу ли я добавлять свои приложения, не форкая всю прошивку?Да. Для своих приложений и сервисов есть папка applications_user, а мейнтейнеры отмечают, что многие идеи лучше реализовать как внешние приложения, публикуемые в Flipper Application Catalog, а не вливать в прошивку.
Что такое Furi?Furi Core — это уровень операционной системы внутри прошивки: базовые примитивы и помощники, на которых строится всё остальное. В дереве исходников он лежит в отдельной папке furi, рядом с lib для общих библиотек и targets для кода, специфичного для платформ.
Что будет, если неудачная прошивка превратит мой Flipper в кирпич?Документация для разработчиков описывает аппаратные комбинации и восстановление устройства даже из самых тяжёлых состояний — одна из причин, почему для низкоуровневой работы рекомендуется внутрисхемный отладчик.
Size
78.4 MB
Stars
16.8K
Age
6y
Commits · 90 Days