Bouffalo Labs ISP (in-system-programming) tool & library: an open source tool to flash Bouffalo RISC-V MCUs.
NOTE: Library API and blisp
tool cli arguments are not stable yet.
-
bl60x
- BL602 / BL604 / TG7100C / LF686 / LF688 -
bl70x
- BL702 / BL704 / BL706
System | Windows | MacOS | Linux | FreeBSD |
---|---|---|---|---|
Pinecil V2 | ||||
Pinecone |
Download the newest release of Blisp updater here.
Check out the wiki page for install instructions.
If you have not cloned this repository locally; clone the git repository locally by running
git clone --recursive https://github.com/pine64/blisp.git
cd blisp
git submodule update --init --recursive
If vendor/argtable3 and vendor/libserialport/ are empty, this last step has failed and should be investigated.
For building blisp
command line tool, use following commands:
mkdir build && cd build
cmake -DBLISP_BUILD_CLI=ON ..
cmake --build .
For building against preinstalled system libraries of the used vendor
libraries (e.g. for use by system maintainers), additionally define
BLISP_USE_SYSTEM_LIBRARIES
, e.g. using following commands:
mkdir build && cd build
cmake -DBLISP_USE_SYSTEM_LIBRARIES=ON -DBLISP_BUILD_CLI=ON ..
cmake --build .
Need more build details? See here.
For BL70X, BL61X, BL808 and BL606P, connected via USB, you can use following command, which will auto-detect serial port on Windows:
.\blisp.exe write --chip=bl70x --reset .\name_of_firmware.bin
or
.\blisp.exe write -c bl70x --reset .\name_of_firmware.bin
For BL60X, you need to specify also the serial port path:
blisp write --chip bl60x --reset -p /dev/ttyUSB0 name_of_firmware.bin
If you wish to see additional 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.