https://github.com/buganini/fw-flasher
https://github.com/buganini/fw-flasher
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/buganini/fw-flasher
- Owner: buganini
- Created: 2025-03-15T11:27:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-15T13:24:23.000Z (over 1 year ago)
- Last Synced: 2025-03-15T13:24:25.840Z (over 1 year ago)
- Language: Python
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FW Flasher
## Use case
Engineers deliver firmware and a manifest.json file for all the complicated settings, while other non-technical people perform the firmware flashing with simple clicks.
## Features
* Config with [JSON file](https://github.com/buganini/Fw-Flasher/blob/main/manifest.json)
* Multiple backends
* esptool
* type=esp*
* Experimental external enablement of flash encryption (development mode) + secure boot for esp32c3
* Black Magic Probe
* type=bmp
* OpenOCD
* type=openocd
* Interfaces with device enumeration support:
* cmsis-dap
* jlink
* dfu-util
* type=dfu
* Still needs zadig to fix driver issue on windows
* PyOCD
* type=pyocd
* Batch Flashing
* Based on port detection, newly detected ports will be flashed automatically
* Tested with esptool backend only
* Cross-Platform
* Linux
* macOS (tested with M2)
* Windows x64
## Screenshots

## Development
### Extra Dependencies
* Download [Arm GNU Toolchain](https://developer.arm.com/downloads/-/gnu-rm) and extract it to the root of the FwFlather so that `arm-none-eabi-gdb` is in the `gcc-arm-none-eabi-X.Y-Z/bin` directory
* Download [OpenOCD](https://github.com/xpack-dev-tools/openocd-xpack/releases) and extract it to the root of the FwFlasher so that `openocd` is in the `*openocd-X.Y-Z/bin` directory
* Download [dfu-util](https://dfu-util.sourceforge.net/releases/) and extract it to the root of the FwFlasher so that `dfu-util` is in the `dfu-util-X.Y-binaries/osname/` directory