Update readme, add flashing scripts (#316)
This commit is contained in:
		
							
								
								
									
										41
									
								
								ReadMe.md
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								ReadMe.md
									
									
									
									
									
								
							@@ -4,14 +4,47 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<img src="https://habrastorage.org/webt/eo/m0/e4/eom0e4btudte7nrhnyic-laiog0.png" />
 | 
					<img src="https://habrastorage.org/webt/eo/m0/e4/eom0e4btudte7nrhnyic-laiog0.png" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Welcome to [Flipper Zero](https://flipperzero.one/)'s Firmware repo! Our goal is to create nice and clean code along with good documentation, to make it a pleasure for everyone to work with. This repo will become completely public closer to the device shipping date. 
 | 
					Welcome to [Flipper Zero](https://flipperzero.one/)'s Firmware repo!
 | 
				
			||||||
 | 
					Our goal is to create nice and clean code along with good documentation, to make it a pleasure for everyone to work with.
 | 
				
			||||||
 | 
					This repo will become completely public closer to the device shipping date.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Update firmware
 | 
					# Update firmware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<a href="https://update.flipperzero.one/full_firmware_latest.bin"><img width="300" src="https://update.flipperzero.one/latest-firmware-banner.png" /></a>
 | 
					<a href="https://update.flipperzero.one/full_firmware_latest.bin"><img width="300" src="https://update.flipperzero.one/latest-firmware-banner.png" /></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Flipper Zero's firmware consists of two components: Bootloader and main firmware. Bootloader controls firmware update process over USB. You need working bootloader installed before update firmware over USB.
 | 
					Flipper Zero's firmware consists of three components:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Core2 firmware - proprietary componenets by ST: FUS + radio stack.
 | 
				
			||||||
 | 
					- Core1 Bootloader - controls basic hardware initialization and loads firmware
 | 
				
			||||||
 | 
					- Core1 Firmware - HAL + OS + Drivers + Applications
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All 3 of them must be flashed in order described.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## With STLink
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Core2 flashing procedures
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Prerequisites:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Linux / MacOs
 | 
				
			||||||
 | 
					- Terminal
 | 
				
			||||||
 | 
					- STM32_Programmer_CLI added to $PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					One liner: `./flash_core2_ble.sh`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Core1 Bootloader + Firmware
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Prerequisites:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Linux / MacOs
 | 
				
			||||||
 | 
					- Terminal
 | 
				
			||||||
 | 
					- Arm gcc noneabi
 | 
				
			||||||
 | 
					- openocd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					One liner: `./flash_core1_main.sh`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## With USB DFU 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Download latest [Firmware](https://update.flipperzero.one/full_firmware_latest.bin)
 | 
					1. Download latest [Firmware](https://update.flipperzero.one/full_firmware_latest.bin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -21,9 +54,9 @@ Flipper Zero's firmware consists of two components: Bootloader and main firmware
 | 
				
			|||||||
 - Release `↩ Back`
 | 
					 - Release `↩ Back`
 | 
				
			||||||
<img src="https://habrastorage.org/webt/uu/c3/g2/uuc3g2n36f2sju19rskcvjzjf6w.png" />
 | 
					<img src="https://habrastorage.org/webt/uu/c3/g2/uuc3g2n36f2sju19rskcvjzjf6w.png" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Run `dfu-util -D firmware.bin -a 0 -s 0x08008000:leave`
 | 
					1. Run `dfu-util -D full_firmware_latest.bin -a 0 -s 0x08000000:leave`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Build from source
 | 
					# Build from source
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`docker-compose exec dev make -C firmware TARGET=f4 APP_RELEASE=1 flash` for build and flash dev board (see `applications/applications.mk` for list of applications/examples)
 | 
					`docker-compose exec dev make -C firmware TARGET=f4 APP_RELEASE=1 flash` for build and flash dev board (see `applications/applications.mk` for list of applications/examples)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								flash_core1_main.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								flash_core1_main.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -x -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rm bootloader/.obj/f*/flash || true
 | 
				
			||||||
 | 
					make -C bootloader -j9 flash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rm firmware/.obj/f*/flash || true
 | 
				
			||||||
 | 
					make -C firmware -j9 APP_RELEASE=1 flash
 | 
				
			||||||
							
								
								
									
										19
									
								
								flash_core2_ble.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								flash_core2_ble.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -x -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPRO_DIR="lib/STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 || true
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_FUS_fw.bin 0x080EC000 || true
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd -fwdelete
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd -fwupgrade $COPRO_DIR/stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STM32_Programmer_CLI -c port=swd -ob nSWBOOT0=1 nBOOT0=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user