56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Flipper firmware
 | |
| 
 | |
| What does it do?
 | |
| 
 | |
| - [x] RTOS
 | |
| - [x] FuriHAL
 | |
| - [x] FuriCore
 | |
| - [x] Services
 | |
| - [x] Applications
 | |
| 
 | |
| # Targets
 | |
| 
 | |
| | Name      | Firmware Address  | Reset Combo           | DFU Combo             |
 | |
| |-----------|-------------------|-----------------------|-----------------------|
 | |
| | f7        | 0x08000000        | L+Back, release both  | L+Back, release Back  |
 | |
| 
 | |
| Also there is a "hardware" ST bootloader combo available even on a bricked or empty device: L+Ok+Back, release Back, Left.
 | |
| Target independent code and headers in `target/include` folders. More details in `documentation/KeyCombo.md`
 | |
| 
 | |
| # Building
 | |
| 
 | |
| ## With dev docker image:
 | |
| 
 | |
| `docker-compose exec dev make -C firmware`
 | |
| 
 | |
| ## With toolchain installed in path:
 | |
| 
 | |
| `make -C firmware`
 | |
| 
 | |
| ## Build Options
 | |
| 
 | |
| - `DEBUG` - 0/1 - enable or disable debug build. Default is 1.
 | |
| - `COMPACT` - 0/1 - enable or disable compiler optimizations. Significantly reduces binary size. Default is 0.
 | |
| - `TARGET` - string - target to build. Default is `f7`.
 | |
| - `RAM_EXEC` - 0/1 - whether to build full firmware or RAM-based stage for firmware update. 0 is default, builds firmware.
 | |
| 
 | |
| # Building self-update package
 | |
| 
 | |
| `make DEBUG=0 COMPACT=1 updater_package`
 | |
| 
 | |
| # Flashing 
 | |
| 
 | |
| Using SWD (STLink):
 | |
| 
 | |
| `make -C firmware flash`
 | |
| 
 | |
| Or use DFU (USB):
 | |
| 
 | |
| `make -C firmware upload`
 | |
| 
 | |
| # Debug
 | |
| 
 | |
| Using SWD (STLink):
 | |
| 
 | |
| `make -C firmware debug`
 | 
