ISP tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs
Go to file
Pavel Zakopaylo 80a0854f2c
Refactored struct in bl808_load_flash_para to use initializer
Compatability isues in older compilers are possible as a result
of this change.
2023-12-01 15:20:49 +11:00
.github/workflows Enable macOS universal builds (#52) 2023-08-28 11:25:41 +02:00
.idea Initial commit 2022-08-24 12:06:39 +02:00
data Implemented setting flash parameters for BL808 2023-12-01 03:02:03 +11:00
img Delete test 2023-03-18 14:55:03 -07:00
include Small changes for PR 2023-12-01 15:15:29 +11:00
lib Refactored struct in bl808_load_flash_para to use initializer 2023-12-01 15:20:49 +11:00
tools/blisp Implemented setting flash parameters for BL808 2023-12-01 03:02:03 +11:00
vendor Add libserialport + another improvements 2022-09-12 13:14:55 +02:00
.clang-format Update code styly and reformat code 2023-01-07 11:50:51 +01:00
.gitignore Add initial MacOS support 2022-12-06 17:15:53 +01:00
.gitmodules Add libserialport + another improvements 2022-09-12 13:14:55 +02:00
CMakeLists.txt Removed unnecessary CRC function 2023-12-01 14:52:07 +11:00
LICENSE Add license 2022-11-30 13:17:30 +01:00
README.md Enable macOS universal builds (#52) 2023-08-28 11:25:41 +02:00

Hits GitHub all downloads Discord GitHub release


BLISP

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.

Supported MCUs

  • bl60x - BL602 / BL604 / TG7100C / LF686 / LF688
  • bl70x - BL702 / BL704 / BL706

Supported Devices

System Windows MacOS Linux FreeBSD
Pinecil V2
Pinecone

How to update Pinecil V2

Download the newest release of Blisp updater here.

Check out the wiki page for install instructions.

Building from code

Clone repository

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.

Build the library and command line utility

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.

Usage

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.

Troubleshooting

macOS

Depending on your current system security settings, modern versions of macOS requires all software to be notarised before you are able to execute it. This is specially true for software that is downloaded directly from the internet.

If that is the case, you will get an error that looks like the following:

“blisp” cannot be opened because the developer cannot be verified.

macOS cannot verify that this app is free from malware.

In that case, you will need to remove the quarantine flag that macOS adds to the executable. After that you should be able to run blisp as normal.

xattr -d com.apple.quarantine blisp