文章目录
前言
本章介绍如何搭建CanMV-K230开发环境,基于Linux+RT-smart双系统开发
一、编译环境搭建
我是用的vmware虚拟机:ubuntu 20.04,搭建环境如下:
直接下载压缩包,下载地址 https://github.com/kendryte/k230_sdk/releases或者https://gitee.com/kendryte/k230_sdk/releases,或者使用git clone https://github.com/kendryte/k230_sdk或者 git clone https://gitee.com/kendryte/k230_sdk.git(国内用户建议使用gitee)
bash
git clone https://gitee.com/kendryte/k230_sdk.git
cd k230_sdk
source tools/get_download_url.sh && make prepare_sourcecode
//第一次编译需要,已经生成docker镜像后跳过此步骤
sudo docker build -f tools/docker/Dockerfile -t k230_docker tools/docker
//执行上面命令,如果您没有安装docker可以先安装docker
sudo docker run -u root -it -v $(pwd):$(pwd) -v $(pwd)/toolchain:/opt/toolchain -w $(pwd) k230_docker /bin/bash
make CONF=k230_canmv_defconfig #编译CanMV-K230板子镜像
//sdk不支持多进程编译,不要增加类似-j32多进程编译参数。
编译成功,我的虚拟机算理有限,整个编译过程大约1个小时左右,截图如下
生成的镜像如图
目录结构如下:
images目录下镜像文件说明如下:
sysimage-sdcard.img -------------是sd和emmc的非安全启动镜像;
sysimage-sdcard.img.gz --------是SD和emmc的非安全启动镜像压缩包(sysimage-sdcard.img文件的gzip压缩包),烧录时需要先解压缩。
sysimage-sdcard_aes.img.gz是SD和emmc的aes安全启动镜像压缩包,烧录时需要先解压缩。
sysimage-sdcard_sm.img.gz是SD和emmc的sm安全启动镜像压缩包,烧录时需要先解压缩。
安全镜像默认不会产生,如果需要安全镜像请参考4.3.4使能安全镜像。
大核系统的编译产物放在images/big-core目录下。
小核系统的编译产物放在images/little-core目录下。
二、镜像烧写
尽管有两个核,但是固件都在一个镜像里,所以烧录一个镜像就可以了;
烧录我建议使用windows下的烧录方式,Windows下可通过rufus工具对TF卡进行烧录(rufus工具下载地址 http://rufus.ie/downloads/)。
1)将TF卡插入PC,然后启动rufus工具,点击工具界面的"选择"按钮,选择待烧写的固件。
**注意:**这里的镜像可以是你编译产生的sysimage-sdcard.img镜像,或使用sysimage-sdcard.img.gz解压缩得到该文件。当然也可以是从官网下载的镜像文件,需要解压后烧录。
2)点击"开始"按钮开始烧写,烧写过程有进度条展示,烧写结束后会提示"准备就绪"。
稍等片刻,等待镜像烧录完成。
将烧好固件的TF卡插入CanMV-K230 TF卡插槽,Type-C线连接电脑和板端的POWER口,板子即上电,系统开始启动。
红框的中红灯亮,则说明开发板正常上电。此时查看串口信息。系统上电后,默认会有两个串口设备,可分别用于访问小核Linux和大核RTSmart
小核Linux默认用户名root,密码为空。大核RTSmart系统中开机会自动启动一个应用程序,可按q键退出至命令提示符终端。
系统启动后默认运行人脸检测程序,将摄像头对准人脸,在显示器上会将人脸框出。
总结
本章介绍了如何搭建CanMV-K230开发环境,基于Linux+RT-smart双系统开发,做镜像烧录,接下来我们学习如何进行开发。