基 CanMV 的 C 开发环境搭建

不论是使用 CanMV 提供的基于 C 语言和 FreeRTOS 的应用开发方式开发应用程序或是编译
CanMV 固件,都需要搭建基于 CanMV C 开发环境,用于编译 CanMV 源码。

1. 开发环境搭建说明

CanMV 提供了基于 C 语言和 FreeRTOS 的应用开发方式以及基于 MicroPython 语法的应用
开发方式,其中基于 C 语言和 FreeRTOS 的应用开发方式依靠直接编译 CanMV 源码和应用代码
来生成应用程序的可执行文件,而基于 MicroPython 语法的应用开发方式则是需要先编译 CanMV
源码并得到 CanMV 固件,然后在目标芯片上运行 CanMV 固件,以此来解析并运行 MicroPython
脚本的应用程序。
可以发现,无论使用那种开发方式进行 CanMV 的应用开发,都是需要编译 CanMV 的源码,
因此本章介绍的开发环境实际上就是 CanMV 源码的编译环境,因此在搭建好 CanMV 的源码编
译环境后,便可使用基于 C 语言和 FreeRTOS 的应用开发方式开发应用程序以及编译 CanMV
件。
CanMV 项目仓库源码编译相关的文档( build.md )中有这么一句话,如下所示:
Only support Linux(recommend) and macOS
那么,这意味着 CanMV 源码的编译只能在 Linux macOS 操作系统下完成,在 Windows
下是无法完成 CanMV 源码编译的,并且也推荐在 Linux 操作系统下进行 CanMV 源码的编译。
为此本教程文档将选用 Linux 操作系统来搭建 CanMV 的编译环境,具体选用的 Linux 发行版本
Ubuntu Server 20.04.6 。当然,对于具有能够解决所遇到问题的能力的读者,也可以选用其他
Linux 发行版本或 macOS
至此,确定了使用 Ubuntu Server 20.04.6 作为开发环境的操作系统,但是可能大部分读者的
电脑安装的都是 Windows 操作系统,身边并没有装有 Ubuntu Server 20.04.6 操作系统的电脑,那
怎么办呢?以下列出一个解决方案:
一,以购买、租借等方式新增一台安装 Ubuntu Server 20.04.6 操作系统的电脑
二,使用 Windows 下的 WLS (适用于 Linux Windows 子系统)
三,使用 VMware Workstation Player 等应用程序在 Windows 下创建虚拟机,并运行 Ubuntu
Server 20.04.6 操作系统
四,其他
本教程文档将就以上解决方案中的第三点(使用 VMware Workstation Player 等应用程序在
Windows 下创建虚拟机,并运行 Ubuntu Server 20.04.6 操作系统)提供详细的教程步骤,具体将
介绍在 Windows 操作系统下使用 VMware Workstation Player 17.0.0 创建虚拟机并安装运行 Ubuntu
Server 20.04.6 操作系统。

2. 安装 VMware Workstation Player

本教程使用的 VMware Workstation Player 版本为 17.0.0 VMware Workstation Player 是一个
能够在 Windows 操作系统下创建虚拟机并在所创建虚拟机上运行 Ubuntu Server 20.04.6 操作系
统的程序软件

2.1 创建虚拟机并安装 Ubuntu

要使用 VMware Workstation Player 创建虚拟机并安装 Ubuntu Server 20.04.6 操作系统,请读
者先根据 4.2 小节在 Windows 主机下正确安装 VMware Workstation Player
安装 Ubuntu Server 20.04.6 操作系统需要使用 Ubuntu Server 20.04.6 的系统安装镜像文件,
该镜像文件可前往其官方的发布网站进行下载,网址为: https://releases.ubuntu.com/focal ,进入网
站后,在“ Select an image ”处选择“ Server install image ”进行下载,如下图所示:
准备好镜像文件后,打开 VMWare Workstation Player 并点击“创建新虚拟机 (N) ”按钮打开
新建虚拟机向导,如下图所示:
点击“下一步”按钮后,填写简易安装信息,如下图所示
简易安装信息的说明,如下表所示:
虚拟机的磁盘将占用虚拟机安装位置磁盘的空间,因此确保主机的磁盘空间足够。读者可以
根据自己的实际情况来确定虚拟机的磁盘大小,另外,虚拟机的磁盘大小是可以在创建好虚拟机
后再次调整的。
点击“下一步”按钮后,自定义虚拟机的硬件信息,如下图所示:
主要自定义的硬件信息有内存、处理器、网络适配器,其余的硬件信息,读者也可以根据实
际情况进行调整。
点击“完成”按钮后,虚拟机创建完毕,勾选“创建后开启此虚拟机”复选框,虚拟机将自
动开启。
开启虚拟机后, Ubuntu Server 20.04.6 的安装程序将自动运行,安装程序启动后,首先进入
“选择语言”界面,读者可根据实际情况选择语言,但建议选择“ English ”,如下图所示:

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

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

相关文章

模拟面试三

1. 你能介绍一下什么是微服务架构? 答案:微服务架构是一种软件开发方法,将一个应用程序拆分成一系列小型、自治、可独立运行的服务,每个服务都专注于完成一个特定的业务功能,并通过轻量级的通信机制进行互联。 2. 你…

【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式

目录 前言环境hexo 更换主题解决部署到 Github Page 后无 CSS 样式的问题 前言 最近更换了 hexo 的主题后,重新部署到 Github Page 上发现不显示 CSS 样式,但在本地启动时又是正常的效果。此外,检查资源请求,发现多个 .css 文件请…

VO 和 DO

什么是 VO? VO(Value Object) 值对象(Value Object,简称 VO) 是一种对象,它主要用于在不同的层次之间传递数据。VO 通常是不可变的,即它的状态一旦被创建,就不会改变。值对象没有…

【软件测试】软件测试入门

软件测试入门 一、什么是软件测试二、软件测试和软件开发的区别三、软件测试在不同类型公司的定位1. 无组织性2. 专职 OR 兼职3. 项目性VS.职能性4.综合型 四、一个优秀的软件测试人员具备的素质1. 技能相关2. 非技能相关 一、什么是软件测试 最常见的理解是:软件测…

【效率提升】倍速插件Global Speed

global speed插件可以控制网页在线视频,能够应用在Edge和Google浏览器中,只需要在插件商店中下载并配置即可。这款插件的配置选项有很多,支持视频倍速(最低0.25倍速,最高16倍速),固定标签页&…

【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式

1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码&am…

Modbus协议转Profibus协议模块接热传感器配置攻略

一、前言 在工业自动化控制领域,Modbus协议和Profibus协议是两种常见的通讯协议,它们在设备之间传输数据起着至关重要的作用。而Modbus协议转Profibus协议模块(XD-MDPB100)设备,则扮演着连接不同通讯协议的桥梁角色。…

常规业务如何做到幂等性

一、前端防抖处理: 采用队列模式,队列插入判重处理,避免多次同事调用接口 二、后端处理 1、新增接口可根据数据库设计采用唯一索引方案机制,避免重复调用 2、更新采用乐观锁 例如update table set where version指定值 3、采用状态…

来点干货,比较好用的3D在线展示网站

制作好的3D模型需要客户对3D模型进行确认,图片和视频给过去,后面往往都会扯皮。无意间翻到几个3D展示网站,试用了下都不是很完善,后面在网上大量查阅资料并经过实际使用,发现几个相对比较好用值得推荐的。 1、Sketchf…

掉电安全文件系统littlefs移植

前言 通过查看oneOS中对littlefs的移植工作,发现,littlefs源码本身,有用的就4个: lfs.clfs.hlfs_util.clfs_util.h 剩下的就是适配层: dfs_lfs.clfs_config.h(和lfs_util.h差不多)lfs_crc.c(和lfs_util.c差不多) …

Python 数据持久化:使用 SQLite3 进行简单而强大的数据存储

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 SQLite3是一种轻量级嵌入式数据库引擎,它在Python中被广泛使用。SQLite3通常已经包含在Python标准库中,无需额外安装。你只需导入 s…

IRIS论文阅读笔记

这是ICLR2023一篇world model的论文,提出了一个称为IRIS的world model方法模型仍然是分为两部分,一部分是模拟世界的world model,包括预测下一帧的观测,预测当前reward,预测是否terminate的三个输出;第二部…

BGP简介

BGP 的概念定义 BGP 的概念: 边界网关协议(Border Gateway Protocol,BGP) 一种用于在不同自治系统(AS)之间交换路由信息的动态路由协议。互联网的核心路由协议之一,确保了全球网络的互联性和…

Linux ubuntu安装pl2303USB转串口驱动

文章目录 1.绿联PL2303串口驱动下载2.驱动安装3.验证方法 1.绿联PL2303串口驱动下载 下载地址:https://www.lulian.cn/download/16-cn.html 也可以直接通过CSDN下载:https://download.csdn.net/download/Axugo/89447539 2.驱动安装 下载后解压找到Lin…

【Linux命令行】从时间管理->文件查找压缩的指令详解

目录 1.date 命令&#xff08;显示时间&#xff09; 1.1 显示方面 1.2 设定时间 1.3 时间戳转换 1.4 cal&#xff08;日历&#xff09; 2. 重定向 2.1 输出重定向&#xff08;echo >&#xff09;cin 2.2 追加重定向 >> 2.3 输入重定向 < cout 3.find 指…

API接口设计的艺术:如何提升用户体验和系统性能

在数字时代&#xff0c;API接口的设计对于用户体验和系统性能有着至关重要的影响。良好的设计可以显著提升应用程序的响应速度、可靠性和易用性。以下是几个关键点&#xff0c;帮助改善API接口的设计&#xff1a; 1. 理解并定义清晰的要求 用户研究&#xff1a;与最终用户进行…

[晕事]今天做了件晕事38 shell里的source 点号

今天碰到一个问题脚本里使用点号引入某个文件形式如下&#xff1a; . /tmp/abc但是脚本运行出现错误&#xff0c;一开始还以为是/tmp没有可执行权限&#xff08;https://mzhan017.blog.csdn.net/article/details/112178736#t16&#xff09;&#xff0c;导致abc运行不了。 后来…

如何根据使用场景选购3D扫描仪?

三维扫描建模是指通过专业的三维扫描仪对产品进行三维数据的采集&#xff0c;快速获取物体精确的3D数据&#xff0c;实现1:1复刻原物体&#xff0c;扫描后所得的数字化3D模型以obj、fbx、glb、gltf等格式保存。 积木易搭自主研发多款三维扫描设备&#xff0c;拥有多项国家专利&…

【大分享04】OFD版式赋能政务服务电子文件归档和电子档案管理

关注我们 - 数字罗塞塔计划 - 本篇是参加由电子文件管理推进联盟联合数字罗塞塔计划发起的“大分享”活动投稿文章&#xff0c;来自北京数科网维技术有限责任公司&#xff0c;作者&#xff1a;张严。 PART1 政务服务电子文件归档和电子档案管理背景 政务服务是政务服务机构…

RockChip Android12 Settings一级菜单

一:概述 在之前的文章中对Android8.1 Settings的流程进行了说明,本章将针对Android12 Settings一级菜单的加载逻辑进行详细说明,Settings版本之间的差异不是很大,有兴趣的同学可自行学习,本文不在做赘述。 Android8.1 Settings说明:RockChip Android8.1 Settings-CSDN博…