* 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>
		
			
				
	
	
		
			48 lines
		
	
	
		
			946 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			946 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 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 `src`and `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`
 |