ISP tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs
Go to file
2022-10-23 00:31:47 -04:00
.idea Initial commit 2022-08-24 12:06:39 +02:00
include WIP 2022-10-05 11:35:44 +02:00
lib WIP 2022-10-05 11:35:44 +02:00
tools/blisp WIP 2022-10-05 11:35:44 +02:00
vendor Add libserialport + another improvements 2022-09-12 13:14:55 +02:00
.clang-format Initial commit 2022-08-24 12:06:39 +02:00
.gitignore Initial commit 2022-08-24 12:06:39 +02:00
.gitmodules Add libserialport + another improvements 2022-09-12 13:14:55 +02:00
CMakeLists.txt Add some macOS related stuff 2022-10-05 11:53:32 +02:00
README.md Add additional collected wisdom to README.md. 2022-10-23 00:31:47 -04:00

Bouffalo Labs ISP tool & library

Tool and library for flashing their RISC-V MCUs.

Supported MCUs

  • BL602 / BL604
  • BL702 / BL704 / BL706
  • BL606P
  • BL616 / BL618
  • BL808

To Do

  • Another code style
  • Finalize API
  • SDIO and JTAG support

Build

This project is not self-contained. After you check out the master project from GitHub, you must fetch the additional vendor libraries via: $ git submodule update --init --recursive

If vendor/argtable3 and vendor/libserialport/ are empty, this step has failed and should be investigated.

Usage

blisp write -c <chip_type> [-p <port_name>] blisp [--help] [--version]

A typical invocation may therefore be:

blisp write -c bl70x -p /dev/tty.usbmodem0000000200001

If you wish to see a painful level of debugging, set the environmental variable LIBSERIALPORT_DEBUG before running. You can either export this in your shell or change it for a single run via

LIBSERIALPORT_DEBUG=y ./a.out write -c bl70x -p /dev/tty.usbmodem0000000200001

Because this is done at the lowest level of serial communication, the displays aren't packet-aware or know about the chip's command set or such. This is really only useful for debugging systems-level issues withing the device or blisp itself.