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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/360440.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Charles抓包工具系列文章(四)-- Rewrite 重写工具

一、背景 这是一款比Map Local/Remote 还强大的工具,更加灵活,体现在以下几点: 重写request报文重写response报文header 字段的增删改query param 字段的增删改重写 body 字段改写http 响应状态status重写host/url/path 从这也可以看出其强…

Ubuntu 24.04安装zabbix7.0.0图形中文乱码

当zabbix安装完成后,设置中文界面时,打开图形,中文内容会显示方框乱码,是因为服务器字体中没有相关的中文字体,需要更换。 1、找到中文字体,可以在网络上下载《得意黑》开源字体,也可以在windo…

小阿轩yx-MySQL数据库初体验

小阿轩yx-MySQL数据库初体验 数据库简介 21 世纪迈入了“信息爆炸时代”,大量的数据、信息在不断产生,伴随而来的就是如何安全、有效地存储、检索和管理它们。 对数据的有效存储、高效访问、方便共享和安全控制已经成为信息时代亟待解决的问题。 使用…

Redis 持久化策略

Redis 提供了多种持久化机制,用于将数据保存到磁盘中,以防止因服务器重启或故障而导致的数据丢失。主要的持久化策略有两种:RDB (Redis Database) 和 AOF (Append Only File),即当 Redis 服务器重新启动时,会读取相应的…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第42课-多人联机-实时互动

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第42课-多人联机-实时互动 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

基于CRITIC-TOPSIS法的各地区评价

1.CRITIC-TOPSIS法原理 1.1 基本理论 CRITIC-TOPSIS法是一种结合CRITIC(Criteria Importance Through Intercriteria Correlation)法和TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)法的综合评价方法…

Node.js实现短链接(ShortLink):shortid、epxress让URL更简单

文章目录 一、短链接介绍二、插件介绍1、epxress2、shortid 三、实现方案1、安装依赖:2、实现原理 四、示例代码五、测试生产短链接 一、短链接介绍 短链接是指仅包含一个网址的链接形式,通俗一些就是将一个很长很复杂的的网址变成一个简短易记的链接。…

cpp入门(命名空间,输入输出与缺省参数)

目录 cpp关键字 命名空间 命名空间的使用 1.加名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.展开命名空间 注意 输入输出 缺省参数 cpp关键字 命名空间 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字&#xff0c…

uniapp app一键登录

一键登录不需要单独写页面,uniapp 有原生的页面 第一步,登录Dcloud后台》我的应用》点击应用名称 填写完点击 uniCloud模块新建一个服务空间》选择免费 , 创建完点击一键登录,添加应用,这个需要审核,“大概一天左右”…

苏东坡传-读书笔记一

太守的官衙位于杭州中心,但是苏东坡却喜欢在较为富有诗意的地方办公。他往往在葛岭下面有十三间房子的寿星院办公,因为那里风光如画。看公文不在寒碧轩,就在雨奇堂。我们记得雨奇堂是从苏东坡西湖诗“山色空濛雨亦奇”而得名的。在这里&#…

Docker 从入门到精通(大全)

一、概述 1.1 基本概念 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。…

RabbitMQ 消息传递

消息何去何从 mandatory和immediate是channel.basicPublish方法中的两个参数,他们都有当消息传递过程中不可达目的地时将消息返回给生产者的功能。RabbitMQ提供的备份交换器可以将未能被交换器路由的消息(没有绑定队列或者没有匹配的绑定)存…

数据仓库 基础教程

数据仓库 基础教程 1. 数据仓库概述 数据仓库(Data Warehouse,简称DW或者DWH)是通过集成来自多个异构数据源的数据来构建的。它支持分析报告、结构化和/或特别查询和决策制定。本教程采用循序渐进的方法来解释数据仓库的所有必要概念。 “数据仓库”一词最早是由Bill Inmon在1…

热点观察 | 全球社交应用IAP收入持续上升,小游戏、短剧出海赛道火热!

2024年进度条即将过半,回顾上半年,“Sora横空出世”、“短剧出海”、“小游戏爆款不断"给了我们太多惊喜,虽说如今市场竞争激烈、行业日趋饱和,但新技术、新需求也在快速跟上。下面,我们就来盘一盘近期全球手游和…

网关助力边缘物联网

网关助力边缘物联网 在探讨网关如何助力边缘物联网(IoT)的议题时,我们不得不深入分析这一技术交汇点的复杂性与潜力。边缘计算与物联网的融合,通过将数据处理与分析能力推向网络边缘,即数据生成的地方,极大…

【日常记录】【JS】优雅检测用户是否在指定元素的外部点击

文章目录 1、界面基本布局2、代码实现3、参考链接 1、界面基本布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

51单片机STC89C52RC——8.1 8*8 LED点阵模块(点亮一个LED)

目录 目的/效果 一&#xff0c;STC单片机模块 二&#xff0c;8*8 LED点阵模块 2.1 电路图 2.1.1 8*8 点阵模块电路图 2.1.2 74HC595&#xff08;串转并&#xff09;模块 电路图 2.1.3 芯片引脚 2.2 引脚电平分析 2.3 74HC595 串转并模块 2.3.1 装弹&#xff08;移位…

如何实现element表格合并行?

前两天我一个朋友咨询我element表格合并行的问题,他研究了很久,已经开始怀疑是不是element UI出现了bug,然后跟我一阵沟通,最终解决了问题,他的问题在于他把事情想复杂了,接下来我们一起来看一下这个经典“案例”,很多人真的很有可能走入这个误区,当然老鸟就不用看了,…

PCL笔记二 之VS环境配置(不同版本Debug+Release编译)

PCL笔记二 之VS环境配置&#xff08;不同版本DebugRelease编译&#xff09; PCL官网&#xff1a;https://github.com/PointCloudLibrary/pcl/releases众所周知&#xff0c;PCL是一个用于点云处理并且依赖不少三方库的一个算法库&#xff0c;同时在编译配置环境时也很复杂&…

python爬虫需要什么HTTP代理?

用来爬虫的话&#xff0c;还是建议用高匿名代理&#xff0c;但显然题主用了高匿名代理还是出现了一部分问题&#xff0c;我们可以先找到问题关键再解决它&#xff0c;一般爬虫用了高匿名代理出现被封会有以下几种原因&#xff1a; 1.代理IP的质量不过关 一般来说每个网站都有…