Kendryte K230 Bringup

0. Preprequisite

Running on Ubuntu 22.04 (gym.cs.berkeley)

1. Set up Docker environment

Install docker

sudo apt install docker.io

Pull the docker image

docker pull ghcr.io/kendryte/k230_sdk

Check if pull succeed

docker images | grep k230_sdk

unused:

sudo apt install flex bison libssl-dev libyaml-dev pkg-config scons

scons might require python to install

2. Set up repository

Clone and set up repository

git clone https://github.com/kendryte/k230_sdk
cd ./k230_sdk/
make prepare_sourcecode

the make prepare_sourcecode step will download Linux, RT-Smart toolchain, buildroot package, AI package etc. and will take some time. Make sure that there is no error message during the download process.

3. Compile K230 SDK

# cd ./k230_sdk/
docker run -u root -it -v $(pwd):$(pwd) -v $(pwd)/toolchain:/opt/toolchain -w $(pwd) ghcr.io/kendryte/k230_sdk /bin/bash

make CONF=k230_evb_defconfig

If encounter this error, need to apply the patch

wget https://raw.githubusercontent.com/keyfour/openwrt/2722d51c5cf6a296b8ecf7ae09e46690403a6c3d/tools/m4/patches/011-fix-sigstksz.patch

patch -p1 ./011-fix-sigstksz.patch

Reference here for more information.

4. Prepare bootload image

sudo dd if=sysimage-sdcard.img of=/dev/sdx bs=1M oflag=sync

Mount eMMC device

p4 corresponds to the app folder

mount /dev/mmcblk1p4 /mnt
cd /mnt/

dd if=/mnt/sysimage-sdcard.img of=/dev/mmcblk0 bs=1M oflag=sync

5. Set up Ethernet connection

Plug USB to Ethernet adapter to USB0 port. USB1 port DOES NOT WORK.

ifconfig eth0 up
ifconfig eth0 10.0.0.2 netmask 255.255.255.0

scp tk@10.0.0.1:/home/tk/Downloads/Baremetal-NN/build/tests/tests

Reference

Last updated