Skip to main content
Open Bouffalo
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

BootROM ISP

Important
This page is old and unfinished, so some information might not be fully accurate.

This page describes Bouffalo ISP Protocol V1, which is used to run images, write images to flash, or program fuses over UART, USB, SDIO, or JTAG.

It is integrated in BL602, BL702, BL808, and BL616 series chips, although each series has some differences and improvements in the protocol.

Supported interfaces by chip

ChipUARTUSBSDIOJTAGSD Card
BL602 SeriesYesNoYes?No
BL702 SeriesYesYesNo?No
BL808CYesBroken??Broken?
BL808DYesN/A??N/A
BL606PYes???N/A
BL616 SeriesYesYes???

Getting into ISP or BootROM mode

The BootROM is not explored enough yet to describe the complete boot process, but the known and tested ISP entry methods are documented below.

Currently there are two known ways to enter ISP mode.

Via GPIO

Every chip using ISP Protocol V1 can enter ISP mode by sampling a specific pin during boot. This mechanism is implemented in BootROM.

Using BL602 as an example, the boot pin must be driven to the required level, usually high, about 0.1 s before powering up the chip with PU_CHIP. The pin then needs to remain at that level for at least 2 ms after PU_CHIP goes high.

ChipPinISP mode when pin isNote
BL602 SeriesIO8High
BL702 SeriesIO28High
BL808 SeriesIO39HighMultiplexed with QSPI D3
BL616 SeriesIO2HighMultiplexed with JTAG? Not fully confirmed

Via software

There are registers that can reboot the chip and automatically launch ISP mode.

TODO: document the exact register sequence.

Handshake

TODO.

Run firmware

TODO.