从零玩转CanMV-K230(2)-开发环境搭建

文章目录


前言

本章介绍如何搭建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双系统开发,做镜像烧录,接下来我们学习如何进行开发。

相关推荐
新智元15 分钟前
AI 版华尔街之狼!o3-mini 靠「神之押注」狂赚 9 倍,DeepSeek R1 最特立独行
人工智能·openai
天下弈星~24 分钟前
GANs生成对抗网络生成手写数字的Pytorch实现
人工智能·pytorch·深度学习·神经网络·生成对抗网络·gans
重启的码农34 分钟前
ggml介绍 (8) 图分配器 (ggml_gallocr)
c++·人工智能·神经网络
重启的码农36 分钟前
ggml介绍 (9) 后端调度器 (ggml_backend_sched)
c++·人工智能·神经网络
aneasystone本尊36 分钟前
学习 Coze Studio 的智能体执行逻辑
人工智能
盏灯1 小时前
Trae SOLO 游戏 —— 🐾🐱🐾猫咪追蝌蚪🐸
人工智能·trae
lisuwen1161 小时前
AI三国杀:马斯克炮轰苹果“偏袒”OpenAI,Grok与ChatGPT的应用商店战争揭秘
人工智能·chatgpt
暮小暮1 小时前
从ChatGPT到智能助手:Agent智能体如何颠覆AI应用
人工智能·深度学习·神经网络·ai·语言模型·chatgpt
聚客AI1 小时前
✅响应时间从8秒到3秒:AI知识库性能优化避坑指南
人工智能·llm·agent
Jinkxs1 小时前
告别“测试滞后”:AI实时测试工具在敏捷开发中的落地经验
人工智能·测试工具·敏捷流程