Custom Lowload
To use peripherals that are not connected to the core running Linux on D0, interrupt handling currently needs to happen on the M0 core. This guide shows how to set up the environment for building custom lowload binaries.
Install the following tools before building.
git
whichsedmakeversion3.81or newerbinutilsbuild-essentialon Debian-based systemsdiffutilsgccversion4.8or newerg++version4.8or newerbashpatchgzipbzip2perlversion5.8.7or newertarcpiounziprsyncfile, available as/usr/bin/filebcfindutilswgetpython3
ncurses5, sometimes packaged asncurses,ncurses-dev, or similar
pacman -Syu git which sed make binutils diffutils gcc bash patch gzip bzip2 perl tar cpio unzip rsync file bc findutils wget ncurses python3
sudo apt update
sudo apt install git sed make binutils diffutils gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc findutils wget libncurses-dev python3
cd ~/buildroot_bouffalo/
git clone https://github.com/openbouffalo/OBLFR.git
git clone https://github.com/bouffalolab/bl_mcu_sdk.git
git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_linux.git
PATH=$PATH:$(pwd)/toolchain_gcc_t-head_linux/bin/
cd OBLFR/apps/m0_lowload
make
The resulting files:
OBLFR/apps/m0_lowload/build/build_out/m0_lowload_bl808_m0.binOBLFR/apps/d0_lowload/build/build_out/d0_lowload_bl808_d0.bin
can be flashed as described in Flashing.
