flipperzero-firmware/bootloader
あく 3c2711102c
Target refactoring and cube update (#161)
* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2.

* Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks.

* Firmware: unified codebase.

* Core: do not include semaphore on old targets. Firmware: dfu uplaod target.

* CI: submodules, add firmware build.

* CI: proper submodule config.

* refactor build system

* CI: update chain to use new targets. Documentation: update to match current structure.

* CI: clean before rebuild.

* Add local test

docker-compose exec dev make -C firmware TARGET=local TEST=1 run

* Makefile: target specific build directory. CI: updated artifacts path.

* Makefile: init git submodules if they don't exists.

* Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util.

* Makefile: proper rebuild sequence in zz and zzz

* Makefile: timestamp tracking for flash and upload commands.

* Apps: modular build. Input: fix flipper hal inline.

* Wiki: proper bootloader link.

* Applications: fix broken build for local targets.

* add st-flash to docker

* fix build

* force rebuild app

* move app force to firmware part

* fix build deps

* qrcode build ok

* fix example display

* add testing routine

* update build instruction

Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
Co-authored-by: aanper <mail@s3f.ru>
2020-10-07 12:37:43 +03:00
..
src Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
targets Target refactoring and cube update (#161) 2020-10-07 12:37:43 +03:00
Makefile Target refactoring and cube update (#161) 2020-10-07 12:37:43 +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