2021-10-18 01:54:19 +03:00
|
|
|
# Flipper firmware
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2022-04-13 23:50:25 +03:00
|
|
|
What does it do?
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
- [x] RTOS
|
|
|
|
- [x] FuriHAL
|
|
|
|
- [x] FuriCore
|
|
|
|
- [x] Services
|
|
|
|
- [x] Applications
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
# Targets
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2022-04-15 20:26:23 +03:00
|
|
|
| Name | Firmware Address | Reset Combo | DFU Combo |
|
|
|
|
|-----------|-------------------|-----------------------|-----------------------|
|
|
|
|
| f7 | 0x08000000 | L+Back, release both | L+Back, release Back |
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2022-04-13 23:50:25 +03:00
|
|
|
Also there is a "hardware" ST bootloader combo available even on a bricked or empty device: L+Ok+Back, release Back, Left.
|
|
|
|
Target independent code and headers in `target/include` folders. More details in `documentation/KeyCombo.md`
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
# Building
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
## With dev docker image:
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
`docker-compose exec dev make -C firmware`
|
2020-12-28 08:52:35 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
## With toolchain installed in path:
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
`make -C firmware`
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
## Build Options
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
- `DEBUG` - 0/1 - enable or disable debug build. Default is 1.
|
2022-04-13 23:50:25 +03:00
|
|
|
- `COMPACT` - 0/1 - enable or disable compiler optimizations. Significantly reduces binary size. Default is 0.
|
2021-10-18 01:54:19 +03:00
|
|
|
- `TARGET` - string - target to build. Default is `f7`.
|
2022-04-13 23:50:25 +03:00
|
|
|
- `RAM_EXEC` - 0/1 - whether to build full firmware or RAM-based stage for firmware update. 0 is default, builds firmware.
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2022-04-15 20:26:23 +03:00
|
|
|
# Building self-update package
|
|
|
|
|
|
|
|
`make DEBUG=0 COMPACT=1 updater_package`
|
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
# Flashing
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
Using SWD (STLink):
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
`make -C firmware flash`
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
Or use DFU (USB):
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
`make -C firmware upload`
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
# Debug
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
Using SWD (STLink):
|
2020-10-07 12:37:43 +03:00
|
|
|
|
2021-10-18 01:54:19 +03:00
|
|
|
`make -C firmware debug`
|