2021-06-23 14:58:44 +00:00
|
|
|
# About
|
|
|
|
|
2021-10-21 12:24:34 +00:00
|
|
|
This folder contains supplementary scripts that automates routine actions.
|
2021-06-23 14:58:44 +00:00
|
|
|
Flashing scripts are based on cli version of [STM32CubeProgrammer](https://www.st.com/en/development-tools/stm32cubeprog.html).
|
|
|
|
You will need to add STM32_Programmer_CLI to your path to use them.
|
|
|
|
|
|
|
|
# Flashing empty MCU/Flipper
|
|
|
|
|
|
|
|
Always flash your device in the folllowing sequence:
|
|
|
|
|
|
|
|
- OTP (Only on empty MCU)
|
2021-10-21 12:24:34 +00:00
|
|
|
- Core1 and Core2 firmware flashing
|
2021-06-23 14:58:44 +00:00
|
|
|
- Option Bytes
|
|
|
|
|
|
|
|
## Otp flashing
|
|
|
|
|
|
|
|
!!! Flashing incorrect OTP may permanently brick your device !!!
|
|
|
|
|
2021-10-21 12:24:34 +00:00
|
|
|
Normally OTP data generated and flashed at the factory.
|
2021-06-23 14:58:44 +00:00
|
|
|
In case if MCU was replaced you'll need correct OTP data to be able to use companion applications.
|
2021-10-21 12:24:34 +00:00
|
|
|
Use `otp.py` to generate and flash OTP data.
|
2021-06-23 14:58:44 +00:00
|
|
|
You will need exact main board revision to genrate OTP data. It can be found on main PCB.
|
2021-10-21 12:24:34 +00:00
|
|
|
Also display type, region and etc...
|
2021-06-23 14:58:44 +00:00
|
|
|
|
|
|
|
!!! Flashing incorrect OTP may permanently brick your device !!!
|
|
|
|
|
2021-10-21 12:24:34 +00:00
|
|
|
## Core1 and Core2 firmware flashing
|
2021-06-23 14:58:44 +00:00
|
|
|
|
2021-10-21 12:24:34 +00:00
|
|
|
Main flashing sequence can be found in root `Makefile`.
|
|
|
|
Core2 goes first, then Core1.
|
|
|
|
Never flash FUS or you will loose your job, girlfriend and keys in secure enclave.
|
2021-06-23 14:58:44 +00:00
|
|
|
|
|
|
|
## Option Bytes
|
|
|
|
|
|
|
|
!!! Setting incorrect Otion Bytes may brick your MCU !!!
|
|
|
|
|
|
|
|
Defaults are mostly OK, but there are couple things that we'd like to tune.
|
|
|
|
Also OB may be damaged, so we've made couple scripts to check and set option bytes.
|
|
|
|
|
|
|
|
!!! Setting incorrect Otion Bytes may brick your MCU !!!
|
|
|
|
|
|
|
|
Checking option bytes:
|
|
|
|
|
2021-08-17 10:38:47 +00:00
|
|
|
```bash
|
|
|
|
ob.py check
|
|
|
|
```
|
2021-06-23 14:58:44 +00:00
|
|
|
|
|
|
|
Setting option bytes:
|
|
|
|
|
2021-08-17 10:38:47 +00:00
|
|
|
```bash
|
|
|
|
ob.py set
|
|
|
|
```
|
2021-08-20 19:56:43 +00:00
|
|
|
|
|
|
|
# Assets delivery
|
|
|
|
|
|
|
|
Run in the root folder of the repo:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
python scripts/storage.py -p <flipper_cli_port> send assets/resources /ext
|
|
|
|
```
|