flipperzero-firmware/README.md

86 lines
4.6 KiB
Markdown
Raw Normal View History

2020-09-17 07:43:04 +00:00
# Flipper Zero Firmware community repo
[![Discord](https://img.shields.io/discord/740930220399525928.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](http://flipperzero.one/discord)
2020-08-17 22:10:34 +00:00
![](https://github.com/Flipper-Zero/flipperzero-firmware-community/raw/master/wiki_static/firmware-wiki-header.gif)
2020-08-01 19:54:58 +00:00
2020-08-18 17:18:09 +00:00
Welcome to [Flipper Zero](https://flipperzero.one/zero)'s Firmware repo! Our goal is to create nice and clean code along with good documentation, to make it a pleasure for everyone to work with. This repo will become completely public closer to the device shipping date.
2020-08-01 19:47:07 +00:00
**We are open for changes!** You can suggest changes for any part of the code, wiki, guidelines, workflow, automation, etc.
2020-08-07 06:51:41 +00:00
If you are deary to start, please read [contribution guide](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Contributing) about creating issue, editing wiki, improving codebase and configuring environment.
2020-08-07 06:51:41 +00:00
# Developer blog
2020-08-18 17:18:09 +00:00
You can read project updates in our developer blog:
2020-08-18 17:18:09 +00:00
**[Developer blog index](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Developer-blog)**
2020-08-18 17:18:09 +00:00
# Firmware
2020-08-18 17:18:09 +00:00
**[Firmware page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware)**
2020-08-18 17:18:09 +00:00
2020-10-23 08:42:53 +00:00
## Update firmware
Flipper Zero's firmware consists of two components: [Bootloader](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Bootloader) and main firmware. Bootloader controls firmware update process over USB. You need working bootloader installed before update firmware over USB.
1. Download latest [Firmware](http://missed_link) ⚠️ **TODO** permanent link to latest firmware from master ⚠️
2. Reboot Flipper to [Firmware update mode](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/UI#reboot-to-bootloader-firmware-update-mode)
2020-10-23 13:54:16 +00:00
3. Run `dfu-util -D firmware.bin -a 0 -s 0x08008000:leave`
2020-10-23 08:42:53 +00:00
## Build from source
2020-08-18 17:18:09 +00:00
You can run firmware locally (with HAL stub):
2020-08-18 17:18:09 +00:00
* `docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 run` for running tests
* `docker-compose exec dev make -C firmware TARGET=local APP_*=1 run` for running examples (see `applications/applications.mk` for list of applications/examples)
Or you can use your dev. board:
`docker-compose exec dev make -C firmware TARGET=f2 APP_*=1 flash` for build and flash dev board (see `applications/applications.mk` for list of applications/examples)
2020-08-18 17:18:09 +00:00
## Architecture and components
2020-08-18 17:18:09 +00:00
2020-08-20 17:35:30 +00:00
Flipper consists of the two main parts:
2020-08-18 17:18:09 +00:00
* Core: OS, HAL, FS, bootloader, FURI
2020-08-20 17:35:30 +00:00
* Applications: features like RFID or Tamagotchi, and also background tasks like button debouncing and backlight control.
2020-08-18 17:18:09 +00:00
### User Interface
2020-08-18 17:18:09 +00:00
[User Interface](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/UI)
2020-08-18 17:18:09 +00:00
### Features
2020-08-07 06:51:41 +00:00
2020-08-17 09:02:31 +00:00
* [Basic Features](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Basic-features)
2020-10-13 00:03:39 +00:00
* [SD-card](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/SD-Card)
2020-08-17 09:02:31 +00:00
* [Sub-1 GHz radio](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Sub-1-GHz-radio) (Transceiver Based on CC1101 chip for 315/433/868 MHz)
* [125 kHz RFID](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/125-kHz-RFID)
* [Infrared](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Infrared)
2020-09-27 23:30:40 +00:00
* [iButton contact keys](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/iButton)
2020-08-17 09:02:31 +00:00
* [USB](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/USB)
* [Bluetooth](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Bluetooth)
* [GPIO/HW Modules](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/GPIO)
* [NFC](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/NFC)
* [U2F](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/U2F)
* [Dolphin](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Dolphin)
2020-08-17 09:02:31 +00:00
* [Plugins](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Plugins)
2020-08-02 05:25:17 +00:00
2020-08-15 06:59:22 +00:00
# Hardware
2020-08-02 05:25:17 +00:00
2020-08-18 17:18:09 +00:00
**[Hardware page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware)**
2020-08-15 06:59:22 +00:00
# Tools
* [St-Link](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/ST-Link)
2020-10-02 19:39:39 +00:00
* [VPN](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/VPN)
2020-08-15 06:59:22 +00:00
# Links
2020-08-21 12:41:14 +00:00
* Discord server: [flipperzero.one/discord](https://flipperzero.one/discord)
2020-08-15 06:59:22 +00:00
* Project website: [flipperzero.one](https://flipperzero.one)
* Kickstarter page: [kickstarter.com](https://www.kickstarter.com/projects/flipper-devices/flipper-zero-tamagochi-for-hackers)
2020-08-17 09:02:31 +00:00
* Forum: [forum.flipperzero.one](https://forum.flipperzero.one/)