* Assets: move assets compilation to separate Makefile. Move all scripts to scripts folder. Add scripts ReadMe. Add precompiled assets. * Split assets.py into separate entities. Option bytes for FL-1289 and checker/setter. * Cli: explicitly initialize variable befor use in api_hal_vcp_rx_with_timeout * Rename ob_check script to ob.
Flipper bootloader
What it does?
- [+] Hardware initialization
 - [+] Boot process LED indicators
 - [+] Firmware update
 - Firmware CRC check
 - Interactive UI
 - FS check
 - Recovery mode
 - Errata crutches
 
Targets
| Name | Bootloader | Firmware | Reset | DFU | | | Address | Address | Combo | Combo |
| f4 | 0x08000000 | 0x00008000 | L+Back | L+Back, hold L |
Also there is a ST bootloader combo available on empty device: L+Ok+Back, release Back,Left.
Target independend code and headers in srcand target/include folders.
Building
With dev docker image:
docker-compose exec dev make -C bootloader
With toolchain installed in path:
make -C bootloader 
Build Options
DEBUG- 0/1 - enable or disable debug build. Default is 1.TARGET- string - target to build. Default isf4.
Flashing
Using stlink(st-flash):
make -C bootloader flash
Or use ST bootloader:
make -C bootloader upload
Debug
Using stlink (st-util + gdb):
make -C bootloader  debug