- Notifications
You must be signed in to change notification settings - Fork9
McAzzaMan/flipperzero-firmware
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Welcome toFlipper Zero's Firmware repo!Our goal is to create nice and clean code with good documentation, to make it a pleasure for everyone to work with.
You should clone with
$ git clone --recursive https://github.com/flipperdevices/flipperzero-firmware.git
Get Latest Firmware from Update Server
Flipper Zero's firmware consists of two components:
- Core2 firmware set - proprietary components by ST: FUS + radio stack. FUS is flashed at factory and you should never update it.
- Core1 Firmware - HAL + OS + Drivers + Applications.
They both must be flashed in order described.
Prerequisites:
- Linux / macOS
- Terminal
- arm-gcc-none-eabi
- openocd
One liner:make flash
Prerequisites:
- Linux / macOS
- Terminal
- STM32_Programmer_CLI (v2.5.0) added to $PATH
One liner:make flash_radio
Download latestFirmware
Reboot Flipper to Bootloader
- Press and hold
← Left+↩ Backfor reset - Release
↩ Backand keep holding← Leftuntil blue LED lights up - Release
← Left
- Run
dfu-util -D full.dfu -a 0
- InstallDocker Engine and Docker Compose
- Prepare the container:
docker-compose up -d
docker-composeexec dev makeCheckdist/ for build outputs.
Useflipper-z-{target}-full-{suffix}.dfu to flash your device.
If compilation fails, make sure all submodules are all initialized. Either clone with--recursive or usegit submodule update --init --recursive.
Make sure you havebrew and install all the dependencies:
brew bundle --verbose
toolchain="gcc-arm-none-eabi-10.3-2021.10"toolchain_package="$toolchain-$(uname -m)-linux"wget -P /opt"https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/$toolchain_package.tar.bz2"tar xjf /opt/$toolchain_package.tar.bz2 -C /optrm /opt/$toolchain_package.tar.bz2forfilein /opt/$toolchain/bin/*;do ln -s"${file}""/usr/bin/$(basename${file})";done
- openocd (debugging/flashing over SWD)
- heatshrink (compiling image assets)
- clang-format (code formatting)
- dfu-util (flashing over USB DFU)
- protobuf (compiling proto sources)
For example, to install them on Debian, use:
apt updateapt install openocd clang-format-13 dfu-util protobuf-compiler
heatshrink has to be compiledfrom sources.
make
Checkdist/ for build outputs.
Useflipper-z-{target}-full-{suffix}.dfu to flash your device.
Connect your device via ST-Link and run:
make whole
- Discord:flipp.dev/discord
- Website:flipperzero.one
- Kickstarter page:kickstarter.com
- Forum:forum.flipperzero.one
applications- Applications and services used in firmwareassets- Assets used by applications and servicescore- Furi Core: os level primitives and helpersdebug- Debug tool: GDB-plugins, SVD-file and etcdocker- Docker image sources (used for firmware build automation)documentation- Documentation generation system configs and input filesfirmware- Firmware source codelib- Our and 3rd party libraries, drivers and etc...make- Make helpersscripts- Supplementary scripts and python libraries home
Also pay attention toReadMe.md files inside of those directories.
About
Flipper Zero Firmware
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- C97.4%
- HTML0.9%
- C++0.7%
- Python0.5%
- PHP0.4%
- Makefile0.1%
