Kendryte SDK/Toolchain setup
These are my notes on getting the standalone SDK and toolchain built for the Sipeed MAix BiT.
Toolchain
First, install the depdencies:
- autoconf
- automake
- autotools-dev
- bc
- bison
- build-essential
- curl
- flex
- gawk
- gperf
- libexpat-dev
- libgmp-dev
- libmpc-dev
- libmpfr-dev
- libtool
- patchutils
- texinfo
- zlib1g-dev
On Debian:
sudo apt-get install autoconf automake autotools-dev curl libmpc-dev \
libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf \
libtool patchutils bc zlib1g-dev libexpat-dev
Clone the repo:
git clone --recursive https://github.com/kendryte/kendryte-gnu-toolchain
Note that the toolchains this pulls done are large downloads and will take a while to pull down.
Next, set up /opt/kendryte-toolchain:
sudo mkdir /opt/kendryte-toolchain && sudo chown -R kyle:kyle /opt/kendryte-toolchain
Build and go make a pot of coffee and ride bikes or something (this takes a uint64_t time):
cd kendryte-gnu-toolchain/riscv-gcc && ./contrib/download_prerequisites && \ cd .. && ./configure --prefix=/opt/kendryte-toolchain --with-cmodel=medany \ --with-arch=rv64imafc --with-abi=lp64f && make -j8
Clone the standalone SDK and build the hello_world project:
cd .. && git clone https://github.com/kendryte/kendryte-standalone-sdk && \ cd kendryte-standalone-sdk && mkdir build && cd build && \ cmake .. -DPROJ=hello_world -DTOOLCHAIN=/opt/kendryte-toolchain/bin && make
Now to flash the image, install the flash tool:
cd .. && git clone https://github.com/sipeed/kflash.py && \ cd kflash.py && pip3 install --user .
Go back to the standalone SDK directory and flash the image:
cd ../kendryte-standalone-sdk/build && \ kflash -B maixduino -S SLOW -p /dev/ttyUSB0 hello_world.bin
NOTE: there's board options for the bit and the bit_mic - but for some reason it's detected as maixduino. Yeah, well, you know, that's just like your opinion, man.
Onwards and upwards...