f02cec45a0
* FuriHal: update STM32CubeWB to latest version. * Makefile: debug other script * FuriHal: correctly handle 0 size transfers in VCP * Dolphin: cleanup and minor timer tuning. * FuriHal: update FreeRTOS config with bigger timer command queue. * FuriHal: delayed irq enabling, fixes missing ticks. * FuriHal: use SFSA to determine free space for internal FS, update linker script to use as much space as theoretically possible. * Scripts: update core2 flashing scripts and OB data. * Github: bundle resources, core2 firmware and supplementary data. * GitHub: versioning for supplemental artifacts |
||
---|---|---|
.. | ||
assets.py | ||
flash_core1_main_swd.sh | ||
flash_core2_ble_swd.sh | ||
flash_otp_version_dfu.sh | ||
flash_otp_version_swd.sh | ||
flash_wipe_swd.sh | ||
ob.data | ||
ob.py | ||
otp.py | ||
ReadMe.md |
About
This folder contains differnt scripts that automates routine actions. Flashing scripts are based on cli version of STM32CubeProgrammer. 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)
- Core2 firmware
- Core1 firmware
- Option Bytes
Otp flashing
!!! Flashing incorrect OTP may permanently brick your device !!!
Normally OTP data generated and flashed at factory.
In case if MCU was replaced you'll need correct OTP data to be able to use companion applications.
Use otp.py
to generate OTP data and flash_otp_version_*
to flash OTP zone.
You will need exact main board revision to genrate OTP data. It can be found on main PCB.
!!! Flashing incorrect OTP may permanently brick your device !!!
Core2 flashing
Script blindly updates FUS and Radiostack. This operation is going to corrupt bootloader and firmware. Reflash Core1 after Core2.
Core1 flashing
Script compiles and flashes both bootloader and firmware.
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:
ob.py check
Setting option bytes:
ob.py set