前言

嘉楠科技提供了2中语言的开发环境,分别是C/C++和MicroPython,本章主要介绍如何搭建CanMV-K230开发环境,基于Linux+RT-smart双系统开发。也会介绍如何CanMV-IDE环境开发方式

一、编译环境搭建

我是用的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)

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-IDE环境搭建

1、软件下载安装

CanMV IDE的GitHub地址,根据自己的系统下载对应的软件安装包:https://github.com/kendryte/canmv_ide/releases
在这里插入图片描述
如果被墙了,也可以到嘉楠官网下载:https://developer.canaan-creative.com/resource
在这里插入图片描述
下载后得到canmv-ide-windows-vx.x.x-gxxxxxx.exe文件,双击打开安装包
在这里插入图片描述
按照个人情况修改安装路径
在这里插入图片描述
在这里插入图片描述
安装完成
在这里插入图片描述

2、软件简介

在这里插入图片描述

区域①菜单栏:操作文件,使用工具等。

区域②快捷按钮:区域①中的文件和编辑中部分功能的快捷方式。

区域③连接设备:连接设备和程序控制按钮。

区域④代码编辑区:编辑要运行的代码。

区域⑤串行终端:显示串口打印的调试信息。

区域⑥图像预览:显示摄像头的图像预览。

区域⑦固件信息:显示连接的串口号以及固件的相关信息。

3、固件烧写

下载名为CanMV-K230_micropython的固件,地址 https://developer.canaan-creative.com/resource
在这里插入图片描述
在TF卡中,使用Rufus下载镜像,操作如下
在这里插入图片描述
完成烧录后,查看设备管理器,可以看到多了一个串行接口:

USB-Enhanced-SERIAL-A CH342(COM80)为小核linux调试串口

USB-Enhanced-SERIAL-B CH342(COM81)为大核rt-smart调试串口

USB串行设备(COM75)为micropython REPL串口 是CanMV-IDE需要连接的串口。如果没有这个设备,请确定两个USB口都与电脑连接,TF卡烧录的固件是否为“CanMV-K230_micropython”开头的固件。
在这里插入图片描述

4、设备连接

将K230开发板2个通过TYPE-C数据线连接到电脑USB口。

然后点击CanMV IDE左下角连接按钮。

弹出选择串口,选择K230开发板对应的串口号。如果有多个串口请先确定对应的串口号再点击OK打开。

连接成功会将图标变为已连接状态,同时灰色播放键变为绿色。
在这里插入图片描述

5、在线模拟

如果对程序进行真机在线调试,可以直接单次运行即可

提示:此步骤运行的程序,断开连接、按复位键或者关机后,程序丢失不保存

连接完成后,可以看到左下角的连接图标变成已连接符号。

如果没有打开例程,可打开文件->示例->AI demo->face_detect.py
在这里插入图片描述
点击绿色按钮直接运行即可
在这里插入图片描述

此时可以看到LCD显示摄像头画面,同时IDE右上角也有显示摄像头画面。运行结果和使用C的镜像一致

五、开机运行程序

如果调试后的程序符合预期,可以让其在开发板上保留,待下次开机后自动运行

提示:此步骤的程序重新上电后会自动运行

在保持连接的情况,点击工具->保存当前打开的脚本为(main.py)到CanMV Cam
在这里插入图片描述
点击Yes保存程序,完成后,断开连接或者按一下复位按键,程序会自动运行。

如果有插入TF卡,程序优先保存到TF卡,并且优先运行TF卡里的main.py文件。
在这里插入图片描述

总结

本章介绍了如何搭建CanMV-K230开发环境,基于Linux+RT-smart双系统开发,做镜像烧录,接下来我们学习如何进行开发。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐