flipperzero-firmware/ReadMe.md

69 lines
2.3 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
2020-11-04 09:49:35 +00:00
<img src="https://habrastorage.org/webt/eo/m0/e4/eom0e4btudte7nrhnyic-laiog0.png" />
2020-08-01 19:54:58 +00:00
Welcome to [Flipper Zero](https://flipperzero.one/)'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
2020-11-04 09:49:35 +00:00
# Update firmware
2020-08-07 06:51:41 +00:00
<a href="https://update.flipperzero.one/master/full.dfu"><img width="300" src="https://update.flipperzero.one/latest-firmware-banner.png" /></a>
2020-08-07 06:51:41 +00:00
2020-10-23 08:42:53 +00:00
Flipper Zero's firmware consists of three components:
- Core2 firmware - proprietary componenets by ST: FUS + radio stack.
- Core1 Bootloader - controls basic hardware initialization and loads firmware
- Core1 Firmware - HAL + OS + Drivers + Applications
All 3 of them must be flashed in order described.
## With STLink
### Core2 flashing procedures
Prerequisites:
- Linux / MacOs
- Terminal
- STM32_Programmer_CLI added to $PATH
One liner: `./flash_core2_ble.sh`
### Core1 Bootloader + Firmware
Prerequisites:
- Linux / MacOs
- Terminal
- Arm gcc noneabi
- openocd
One liner: `./flash_core1_main.sh`
## With USB DFU
2020-10-23 08:42:53 +00:00
1. Download latest [Firmware](https://update.flipperzero.one/master/full.dfu)
2020-10-23 08:42:53 +00:00
2020-11-04 09:49:35 +00:00
2. Reboot Flipper to Bootloader
- Press and hold `← Left` + `↩ Back` for reset
- Release `← Left` and keep holding `↩ Back` until blue LED lights up
- Release `↩ Back`
<img src="https://habrastorage.org/webt/uu/c3/g2/uuc3g2n36f2sju19rskcvjzjf6w.png" />
2020-10-23 08:42:53 +00:00
1. Run `dfu-util -D full.dfu -a 0`
2020-10-23 08:42:53 +00:00
# Build from source
2020-08-18 17:18:09 +00:00
[FL-140] Core api dynamic records (#296) * SYSTEM: tickless mode with deep sleep. * Move FreeRTOS ticks to lptim2 * API: move all sumbodules init routines to one place. Timebase: working lptim2 at tick source. * API Timebase: lp-timer routines, timer access safe zones prediction and synchronization. FreeRTOS: adjust configuration for tickless mode. * NFC: support for tickless mode. * API Timebase: improve tick error handling in IRQ. Apploader: use insomnia mode to run applications. * BLE: prevent sleep while core2 starting * HAL: nap while in insomnia mode * init records work * try to implement record delete * tests and flapp * flapp subsystem * new core functions to get app stat, simplify core code * fix thread termination * add strdup to core * fix tests * Refactoring: remove all unusued parts, update API usage, aggreagate API sources and headers, new record storage * Refactoring: update furi record api usage, cleanup code * Fix broken merge for freertos apps * Core, Target: fix compilation warnings * Drop firmware target local * HAL Timebase, Power, Clock: semaphore guarded access to clock and power modes, better sleep mode. * SD-Filesystem: wait for all deps to arrive before adding widget. Core, BLE: disable debug dump to serial. * delete old app example-ipc * delete old app fatfs list * fix strobe app, add input header * delete old display driver * comment old app qr-code * fix sd-card test, add forced widget update * remove unused new core test * increase heap to 128k * comment and assert old core tests * fix syntax Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-01-20 16:09:26 +00:00
`docker-compose exec dev make -C firmware TARGET=f4 APP_RELEASE=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
2020-08-15 06:59:22 +00:00
# Links
2020-11-04 09:49:35 +00:00
* Task tracker: [Jira](https://flipperzero.atlassian.net/)
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/)