第五章 编译CanMV固件

1)实验平台:正点原子DNK210开发板

2) 章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0

3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750

4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子K210技术交流企鹅群:605557868

上一章节中已经搭建好了基于CanMV的C开发环境,这么一来便可以进行基于C语言和FreeRTOS的应用开发或者编译基于MicroPython语法的应用开发方式所需的CanMV固件,本章就将带领读者体验一下CanMV固件的编译流程。

本章分为如下几个小节:

5.1 CanMV固件编译说明

5.2 获取CanMV源码

5.3 编译CanMV源码

5.1 CanMV固件编译说明

CanMV固件可由CanMV项目编译得到,如果读者对CanMV固件有裁剪或自定义功能的需求,那么可根据本章介绍的内容,亲自编译CanMV固件。

但对于大部分读者,编译CanMV固件并不是必须的,因为在A盘软件资料软件CanMV固件中提供了编译好的固件,读者可以直接使用。

因此,需不需要读者自行编译CanMV固件,完全由读者的实际情况决定,若以提供的固件不能满足读者的使用需求,那遍需要自行编译CanMV固件。当然,自行编译CanMV固件,也能对CanMV项目有更多的了解。

5.2 获取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工具软件的使用介绍不是本教程文档的重点,请读者在使用中遇到问题时,善用搜索引擎。

5.3 编译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固件。

《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件的更多相关文章

  1. MySQL与MariaDB核心特性比较详细版v1.0(覆盖mysql 8.0/mariadb 10.3,包括优化、功能及维护)

    注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载. MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baid ...

  2. J20航模遥控器开源项目系列教程(一)制作教程 | 基础版V1.0发布,从0到1

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  3. [原创] RestartPC64-中文版v1.0.0.9

    原来发布的RestartPC-中文版和英文版v1.0.0.5,在PE64下无效.所以重新编译了64位版的RestartPC64-中文版v1.0.0.9,可以在PE64下面.正常Win64系统下面重启关 ...

  4. 《C++Primer》第五版习题答案--第五章【学习笔记】

    <C++Primer>第五版习题答案--第五章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/15 第五章:语句 ...

  5. WPF 自定义 MessageBox (相对完善版 v1.0.0.6)

    基于WPF的自定义 MessageBox. 众所周知WPF界面美观.大多数WPF元素都可以简单的修改其样式,从而达到程序的风格统一.可是当你不得不弹出一个消息框通知用户消息时(虽然很不建议在程序中频繁 ...

  6. 网盘直链工具 winform版 V1.0

    软件需要.net2.0支持 win7及以上版本用户无需安装 xp用户需要安装 支持网盘:好盘 坚果云 百度云 乐视云 华为网盘 微云 新浪网盘 126disk 速度盘 乐齐盘 天空网盘 千脑网盘 可乐 ...

  7. 保卫萝卜官方PC版——含绿色版 V1.0.6Beta

    官方网站 | 安装版 | 绿色版

  8. 免费了 -- EXCEL插件 智表ZCELL 普及版V1.0 发布了!!!

    智表(zcell)是一款浏览器仿excel表格jquery插件.智表可以为你提供excel般的智能体验,支持双击编辑.设置公式.设置显示小数精度.下拉框.自定义单元格.复制粘贴.不连续选定.合并单元格 ...

  9. Oracle复习(复习精简版v1.0)

    自己没记不住的,超基础Oracle知识,新手可以看一下. 大多数例子是用scott用户中的emp表完成 排序:order by 列名    desc是降序,默认是升序: update 表名 set 列 ...

  10. 《CSS权威指南(第三版)》---第五章 字体

    这章主要的内容有: 1.字体:一般使用一种通用的字体. 2.字体加粗:一般从数字100 -900 . 3.字体大小:font-size 4.拉伸和调整字体:font-stretch 5.调整字体大小: ...

随机推荐

  1. WebGL实现简易的局部“马赛克”

    前言 接触过Canvas的小伙伴应该都知道,在Canvas2D中我们要加载一个图片很简单,通过调用drawImage API就能将图像绘制到画布上,当然在WebGL中我们也可以绘制图像,在绘制时我们需 ...

  2. ansible系列(20)--ansible的变量详解

    目录 1. Ansible Variables 1.1 变量定义的方式 1.2 在playbook中定义变量 1.2.1 使用vars方式定义变量 1.2.2 使用vars_file方式定义变量 1. ...

  3. WEB服务与NGINX(8)-NGINX的长连接功能

    1. 长连接配置 keepalive_timeout; 定义客户端保持连接超时时长,0表示禁止长连接,默认为65s,建议使用15s即可. 在ngx_http_upstream_module中也有此项设 ...

  4. cesium教程7-官方示例翻译-模型要素选择

    源代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  5. CSRF(Pikachu靶场练习)

    CSRF(get) 自己随便输点东西,回显登录失败,查看源码没发现什么 点开提示,登录进去看看 看到可以修改个人信息,我们把居住改成China,修改成功,没发现urlhttp://127.0.0.1/ ...

  6. 通过 OpenAPI 部署 Nbsf_Management API Service

    目录 文章目录 目录 准备 部署 启动 API 服务 调用 准备 GentOS7 Golang1.12.5 Swagger YAML TS29521_Nbsf_Management.yaml TS29 ...

  7. java学习之旅(day.15)

    IO框架 I:input O:output 流:内存与存储设备间传输数据的通道 数据借助流进行传输 流的分类 按流向分: 输入流:将存储设备中的内容读入到内存中(程序运行) 输出流:将内存中的内容写入 ...

  8. java学习之旅(day.03)

    整数拓展: 进制 二进制:以0b开头 十进制:我们生活中的正常数 int i=10 八进制:以0开头 int i=010 十六进制:以0x开头 0~9 A~F int i=0x10 浮点数拓展: fl ...

  9. ansible功能实现

    模糊匹配远程主机文件并拉取到本地服务器 又熬夜加班了.花很长时间研究出来.如何实现模糊匹配到的远程文件批量拉取到本地的剧本.使用copy模块的*,shll模块的* ls|grep XX都没有实现,貌似 ...

  10. dbeaver使用详解

    1.dbeaver使用本地驱动 解压 点击可执行文件 驱动管理 新建驱动 起名字 com.mysql.jdbc.Driver jdbc:mysql//{host}[:{port}]/[{databas ...