第五章 编译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. docker-compose部署Elasticsearch7.14.1+kabana7.14.1+elasticsearch-head并设置账号密码

    学习资料 https://www.bilibili.com/video/BV1eY411w7Lx/ https://www.bilibili.com/video/BV1SQ4y1m7Ds?p=13 仓 ...

  2. SQL中常用的字符串REPLACE函数和LEN函数详解!

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...

  3. python教程3.1:数据类型:字符串+列表list

    一.字符串 字符串是⼀个有序的字符的集合,⽤于在计算机⾥存储和表示⽂本信息  常用方法--str.fun() 全局函数 二.列表list []内以逗号分隔,按照索引,存放各种数据类型,每个位置代表⼀个 ...

  4. Windows有自带的远程桌面 为啥还要商业远程桌面

    网上有一类观点:最好的远程桌面就是windows自带的远程桌面. 那我们打破砂锅问到底,亲手实践下看看. 首先,我们来到了windows官网-远程桌面介绍页面. 如何使用远程桌面 设置你想要连接以使其 ...

  5. NumPy 数组排序、过滤与随机数生成详解

    NumPy 数组排序 排序数组 排序数组意味着将元素按特定顺序排列.顺序可以是数字大小.字母顺序.升序或降序等. NumPy 的 ndarray 对象提供了一个名为 sort() 的函数,用于对数组进 ...

  6. 🐬记一次MySQL执行修改语句超时问题

    异常问题 原因分析 这个问题发生在开发环境,怀疑是提交事务时终止项目运行,没有提交该事务,造成死锁 调试该事务时时间太长,为什么说有这个原因呢,因为通过查找日志显示 The client was di ...

  7. 微软正式发布:.NET Aspire 云原生开发框架

    前言 2024年5月22日北京时间,微软正式发布全新的.NET云原生开发框架-.NET Aspire. .NET Aspire 是一个新的平台无关.语言无关的框架,旨在简化 .NET云原生服务的开发, ...

  8. 腾讯面试:如何提升Kafka吞吐量?

    Kafka 是一个分布式流处理平台和消息系统,用于构建实时数据管道和流应用.它最初由 LinkedIn 开发,后来成为 Apache 软件基金会的顶级项目. Kafka 特点是高吞吐量.分布式架构.支 ...

  9. 手把手教你搭建mongodb分片集群

    本章用的自己的电脑win10 系统  因为工作上的环境也是win的  就没在虚拟机上玩  (ps: 其实上面环境都大同小异) 在MongoDB(版本 6.xx)中,分片是指将collection分散存 ...

  10. win11或win10客户端邮箱账号登录设置

    1.alimall阿里企业邮箱 点击账户 点击添加账户 点击其他账户 输入电子邮箱地址和密码,并点击登录即可 2.Qq邮箱 2.1 点击账户 2.2 点击添加账户 2.3 点击其他账户 2.4 输入电 ...