e7eeef5f85
Icons in black can not be seen well in dark screen. changed to color that matches badges and can be seen in dark mode. |
||
---|---|---|
.github/workflows | ||
.idea | ||
data | ||
img | ||
include | ||
lib | ||
tools/blisp | ||
vendor | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
README.md |
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 / LF688bl70x
- BL702 / BL704 / BL706
Supported Devices
System | Windows | MacOS | Linux | FreeBSD |
---|---|---|---|---|
Pinecil V2 | ||||
Pinecone | ||||
How to update Pinecil V2
Check out the wiki page.
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 .
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.