编译 CanMV 固件

前言

上一章节中已经搭建好了基于 CanMV 的 C 开发环境,这么一来便可以进行基于 C 语言和 FreeRTOS 的应用开发或者编译基于 MicroPython 语法的应用开发方式所需的 CanMV 固件,本 章就将带领读者体验一下 CanMV 固件的编译流程。 本章分为如下几个小节: 5.1 CanMV 固件编译说明 5.2 获取 CanMV 源码 5.3 编译 CanMV 源码

CanMV 固件编译说明

CanMV 固件可由 CanMV 项目编译得到,如果读者对 CanMV 固件有裁剪或自定义功能的需 求,那么可根据本章介绍的内容,亲自编译 CanMV 固件。 但对于大部分读者,编译 CanMV 固件并不是必须的,因为在 A 盘→软件资料→软件 →CanMV 固件中提供了编译好的固件,读者可以直接使用。 因此,需不需要读者自行编译 CanMV 固件,完全由读者的实际情况决定,若以提供的固件 不能满足读者的使用需求,那遍需要自行编译 CanMV 固件。当然,自行编译 CanMV 固件,也 能对 CanMV 项目有更多的了解。

获取 CanMV 源码

CanMV 项目的开源地址为:https://github.com/kendryte/canmv.git,因此可以使用 Git 工具获 取 CanMV,在新安装的 Git 工具使用前需要先配置用户名和用户邮箱地址: # Linux git config --global user.name "Your user name" git config --global user.email "Your user email" 使用 Git 工具获取 CanMV 项目源码仓库: # Linux git clone https://github.com/kendryte/canmv.git $WORKSPACE/canmv/ cd $WORKSPACE/canmv/ git submodule update --init --recursive 获取到 CanMV 项目源码仓库后,查看仓库的 Tag: # Linux git tag -l 在列出的所有 Tag 中,找到最新的 Tag,然后切换到该 Tag,以 v1.0.5 为例: # Linux git checkout v1.0.5 至此,已经成功获取到最新发布的 CanMV 源码了,若读者后续有修改 CanMV 源码并提交 修改的需求,可以在此基础上创建一个分支: # Linux git switch -c dev 为方便读者使用,在 A 盘→软件资料→软件→CanMV 项目仓库压缩包中提供了 CanMV 项 目仓库的仅克隆无修改的压缩包(可能不是最新版本)。 关于 Git 工具软件的使用介绍不是本教程文档的重点,请读者在使用中遇到问题时,善用搜 索引擎。

编译 CanMV 源码

关于 CanMV 源码的编译,建议读者先详细阅读 CanMV 仓库下的 build.md 文档。 编译 CanMV 源码前,需要先安装一下 Python 依赖库: # Linux cd $WORKSPACE/canmv/ pip install -r requirements.txt

随后,读者请根据使用的板子,进入对应的工程目录下,对工程进行配置: # Linux cd projects/canmv_atk_dnk210/ python project.py \ --toolchain $TOOLS/kendryte-toolchain/bin \ --toolchain-prefix riscv64-unknown-elf- \ config

以上的配置,主要是配置编译工程所使用的工具链,如果读者有对 CanMV 固件功能裁剪或 自定的的需求,可以执行一下命令,然后对工程进行更加详细的配置: # Linux python3 project.py menuconfig 工程配置完成后,便可对工程进行编译: # Linux python project.py build 编译完成后,将在工程的 build 目录下生成 canmv.bin 文件,即 CanMV 固件。

相关推荐
羊小猪~~1 小时前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
脉牛杂德2 小时前
多项式加法——C语言
数据结构·c++·算法
legend_jz2 小时前
STL--哈希
c++·算法·哈希算法
CSUC2 小时前
【C++】父类参数有默认值时子类构造函数列表中可以省略该参数
c++
Vanranrr2 小时前
C++ QT
java·c++·qt
鸿儒5172 小时前
C++ lambda 匿名函数
开发语言·c++
van叶~3 小时前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
knighthood20013 小时前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
半盏茶香4 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
小堇不是码农4 小时前
在VScode中配置C_C++环境
c语言·c++·vscode