[](https://github.com/pine64/blisp/wiki/Update-Pinecil-V2)
[](https://github.com/pine64/blisp/releases/tag/v0.0.3)
[](https://discord.com/invite/pine64)
[](https://github.com/pine64/blisp/releases/tag/v0.0.3)
# 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
- [x] `bl60x` - BL602 / BL604 / TG7100C / LF686 / LF688
- [x] `bl70x` - BL702 / BL704 / BL706
## Supported Devices
| System |
Windows |
MacOS|
Linux|
FreeBSD |
| :-----: | :------: | :------: | :------: | :------: |
| Pinecil V2 |
|
|
|
|
| Pinecone |
|
|
|
|
## How to update Pinecil V2
Check out the [wiki page](https://github.com/pine64/blisp/wiki/Update-Pinecil-V2).
## Building from code
### Clone repository
If you have not cloned this repository locally; clone the git repository locally by running
```bash
git clone --recursive https://github.com/pine64/blisp.git
cd blisp
git submodule update --init --recursive
```
### Build the library and command line utility
For building `blisp` command line tool, use following commands:
```bash
mkdir build && cd build
cmake -DBLISP_BUILD_CLI=ON ..
cmake --build .
```
#### Need more build details? [See here](https://github.com/pine64/blisp/wiki/Update-Pinecil-V2#build-blisp-flasher-from-code).
## Usage
For BL70X, BL61X, BL808 and BL606P, connected via USB, you can use following command, which will auto-detect serial port:
```bash
.\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:
```bash
blisp write --chip bl60x --reset -p /dev/ttyUSB0 name_of_firmware.bin
```