1 官方教程
参考官方教程
使用Ubuntu20.04系统搭建环境,进行K230开发板Liunx编译环境搭建,记录遇到的问题。
2 SDK编译
- Setp 1:获取 SDK开发包
git clone https://gitee.com/kendryte/k230_sdk.git
**3. Step 2:进入SDK根目录
cd k230_sdk
- Step 3:下载toolchain
source tools/get_download_url.sh && make prepare_sourcecode
- Step 4:生成docker镜像(第一次编译需要,已经生成docker镜像后跳过此步骤).(在进行这一步时遇到问题,参考网上搭建docker的教程,大部分docker源无法使用,需要找个能用的,同时tools/docker/Dockerfile文件内的ubuntu清华源也无法使用,替换或者屏蔽)
docker build -f tools/docker/Dockerfile -t k230_docker tools/docker
我因为已更换源,Dockerfile文件直接屏蔽以下内容:
config ubuntu local apt source
RUN cp /etc/apt/sources.list /etc/apt/sources_bak.list \
&& sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list \
&& sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
- Step 5: 进入docker环境,
docker run -u root -it -v $(pwd):$(pwd) -v
$(pwd)/toolchain:/opt/toolchain -w $(pwd) k230_docker /bin/bash
- Step 6: Docker环境下执行下面命令编译SDK
make CONF=k230_canmv_defconfig
#编译CanMV-K230 1.0/1.1 板子Linux+RTT双系统镜像
或者
make CONF=k230_canmv_only_rtt_defconfig
#编译CanMV-K230 1.0/1.1 板子RTT-only系统镜像
sdk不支持多进程编译,不要增加类似-j32多进程编译参数。
编译输出产物
编译完成后,在output/xx_defconfig/images目录下可以看到编译输出产物
images目录下镜像文件说明如下:
sysimage-sdcard.img ————-是TF卡的启动镜像;
sysimage-sdcard.img.gz ———是TF卡的启动镜像压缩包(sysimage-sdcard.img文件的gzip压缩包),烧录时需要先解压缩。
至此整个SDK编译完成,成生镜像sysimage-sdcard.img,可烧录到TF卡启动系统。