flipperzero-firmware/bootloader
SG 153666f73f
F6: USB glue cleanup and fixes (#666)
* USB-CDC: accepting the next data packet only if we process previous data
* USB-CDC: use USB FS packet size
* HAL-console: puts method
* Check: print assertion data
* FuriHal: rx stream free space aware CDC confirmation.
* Bootloader: pull down USB lines, leave the rest to the firmware or bootloader
* F6: cleanup and move USB code to usb-glue folder, add USB suspend/resume events to VCP, cleanup target.mk, fix missing motd message in cli when using minicom.
* F5: cleanup the rest of USB glue code, adjust LPM and Power info data in descriptor.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-22 13:43:45 +03:00
..
src Implement bootloader #137 (#142) 2020-10-01 02:05:04 +03:00
targets F6: USB glue cleanup and fixes (#666) 2021-08-22 13:43:45 +03:00
Makefile [FL-1666] Bootloader: info screen when we going to DFU. FuriHal: port SPI to LL. Cleanup. (#634) 2021-08-12 11:48:05 +03:00
ReadMe.md Fix readme consistency issues (#652) 2021-08-17 13:38:47 +03: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