flipperzero-firmware/bootloader
あく f25d000d53
[FL-1558] Technical Debt: console, bootloader, targets, stdglue, etc... (#590)
* ApiHal: console abstraction, change uart baud rate to 230400. Bootloader: drop F5. Furi: prevent thread local output to serial console in stdglue.
* ApiHal: take control over system initialization, reorder some subsystems in a hope of fixing USB issues.
* Main: cleanup dead code. ISR: take care of HSECSS by our self. USB: leave clock configuration alone.
* F6 cube: switch RCC to LL.
* Cli: rollback return behavior.
2021-07-20 20:14:42 +03:00
..
src Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
targets [FL-1558] Technical Debt: console, bootloader, targets, stdglue, etc... (#590) 2021-07-20 20:14:42 +03:00
Makefile [FL-1546, FL-1534, FL-1550] Drop F5, Certification preparation, Global application start lock (#585) 2021-07-18 21:09:00 +03:00
ReadMe.md Remove obsolete target. Cleanup and update ReadMe. (#279) 2020-12-28 11:52:35 +06:00

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 is f4.

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