Git Product home page Git Product logo

blisp's Introduction

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.

blisp's People

Contributors

bdd avatar gamelaster avatar jf002 avatar juul avatar lupyuen avatar ralim avatar river-mochi avatar robertlipe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.