flipperzero-firmware/bootloader
あく 805bb886c0
Implement bootloader #137 (#142)
* Boot: switch to DFU routines. Implements #132 part 1 of 2.

* Boot: boot to DFU shortcut, hard reset USB on each boot. Implements #132 part 2 of 2.

* Deploy scripts: fix path for deploy dfu.

* Bootloader: initial version. Target_f2: rebase, update deployment scripts.

* Bootloader: cleanup, refactor switch2 proc. Readme,wiki: document bootloader.

* Wiki: deploy symlinks as files, bootloader info.

* Target_f2: valid flash size in linker script.

* Github CI: bootloader build and artifacts.

* Bootloader: rename platforms to targets.

* Bootloader: change dfu/os colors.

* disable set -e

* lint code

* add bootloader testing page

Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
Co-authored-by: aanper <mail@s3f.ru>
2020-10-01 02:05:04 +03:00
..
src Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
targets Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
Makefile Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
ReadMe.md Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00

Flipper bootloader

What it does?

  • [+] Hardware initialization
  • Firmware CRC check
  • [+] Firmware update
  • Interactive UI
  • [+] Boot process LED indicators
  • FS check
  • Recovery mode

Targets

| Name | Bootloader | Firmware | Reset | DFU | | | Address | Address | Combo | Combo |

| f2 | 0x08000000 | 0x00008000 | L+R | L+R, hold R |

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

Build Options

  • DEBUG - 0/1 - enable or disable debug build. Default is 1.
  • TARGET - string - target to build. Default is f2.

Flashing

Using stlink(st-flash):

make flash

Debug

Using stlink (st-util + gdb):

make debug