blflash

BL602 serial flasher

blflash flashes firmware to Bouffalo Lab BL602 (and compatible BL604) RISC-V WiFi SoCs over UART. It talks to the mask ROM boot protocol, uploads the eflash loader, and writes the image to flash. It is written in Rust.

Forked from https://github.com/spacemeowx2/blflash

Includes a port of the RF calibration patch tool from https://github.com/xouillet/bl_rfbin

Inspired by https://github.com/esp-rs/espflash, https://github.com/bouffalolab/BLOpenFlasher

ISP documentation: https://github.com/bouffalolab/bl_docs/tree/main/BL602_ISP

Build

You need a current Rust toolchain. Install or update it with rustup update, then build with:

cargo build

Usage

Put the chip into download mode: tie GPIO 8 high, then reset the chip. Flash a firmware image with:

./target/debug/blflash flash sdk_app_helloworld.bin --port /dev/ttyUSB0

On Linux, your user needs access to the serial port. On Arch-based systems add yourself to the uucp group; on Debian/Ubuntu use the dialout group.

TODO

  • Flash protocol
  • Generate Partition bin
  • Generate boot info with compiled bin
  • Generate dtb bin

License

Licensed under either of

at your option.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support