树莓派Pico C/C++ 开发环境搭建(一键完成版)

news2024/12/23 1:52:48

树莓派Pico C/C++ 开发环境搭建(一键完成版)

因为之前使用过MicroPython开发过树莓派Pico,总觉得用起来怪怪的。正好最近树莓怕发布了新一代的MCU——RP2350,之前的RP2040在各个平台都有所降价,因此,买了几块。同时因为之前是玩stm32过来的,因此,对于C环境的开发格外偏爱。但在网上大部分找到的C/C++SDK开发树莓派Pico的都是基于官方的教程(需要VSStudio),很难能找到一键搭建的教程,唯有的也只有下面这两个

  1. RP2040 VSCode C/C++开发环境快速部署_rp2040win开发环境-CSDN博客

  2. Windows配置树莓派Pico开发环境并使用vscode入门树莓派Pico开发_正在配置项目: pico-examples-CSDN博客

自己也是参考了这两位大佬的博客完成了C/C++ 开发环境的搭建。

官网的资料

这里给出官网的几个资料,其实官网也给出一键安装的教程,即不需要VStudio 的教程。同时官网还开发了一个VSCode的插件Raspberry Pi Pico 不过现在还在开发阶段,自己尝试了一下,至少在国内用起来不算很方便。😭(也许之后会好用一些🤣)

  1. Getting started with Raspberry Pi Pico-series
  2. Raspberry Pi Pico Windows Installer - Raspberry Pi

正式教程

原理

其实,要明白我们安装的是那几个软件,每个软件起到的作用是什么。这样我们才知道出现了和教程中不一样的地方需要怎么操作。

首先,官网教程中,用的三个软件

  • cmake:工程文件组织和管理的软件。
  • gcc-arm-none-eabi:arm核的交叉编译器,毕竟RP2040也M0+的内核。
  • VSStudio:主要是提供ninja,一个能够应用在windows平台下的工程文件管理组织的软件(类似于linux下的MakeFile)。Cmake是跨平台的软件,本质是通过Cmake生成对应的平台的make文件。
  • git:版本管理的神软件,不多说了。
  • openocd:调试软件,如果不用调试的话,可以不用这个。

需要准备的东西

  1. 一键安装包(上面链接官网资料中一个外国大佬给出来的,其实是将必须的软件全部以安装包的形式给出来了,包括cmake、gcc-arm-none-eabi、git、ninja、openocd和Pico的C/C++SDK)。

    一键安装包链接

  2. Pico工程生成工具(这个是方便生成C/C++工程的,不是必要的,但很推荐)

    生成工具Python文件

  3. VSCode 宇宙最强编辑器(一般跟我一样讨厌又大又重VSStudio的小伙伴都有安装这个的吧🤣)

环境搭建步骤

一键安装包

将上述的一键安装包选择自己的路径安装后,如果能够出现windows的命令行并直接出现以下画面,那恭喜你天选之人,你的环境没有任何问题。

一键安装后的图片

这个画面就是一键安装完成后会将所带的例子编译后输出的结果。只要直接使用VSCode打开安装过程中指定的Examples文件夹(一般是在本机文档下的pico_examples)就可以进行开发了。

验证测试

需要注意的是,为了方便在VSCode中调用Cmake,VSCode中需要安装一些必备的插件,如下截图所示。

需要安装的插件

工程生成工具

在上面提到的工程生成工具的github链接下下载源代码的zip包,解压后,可以得到如下图所示的文件夹

image-20240819215429440

在该文件下打开windows的命令行,运行python pico_project.py --gui, 就会出现图形化工程配置软件了。

image-20240819215710748

如果一切顺利的话,到这儿就可以了😂。至于这个图形化界面如何配置,可以看看大佬的这个博客轻松玩转树莓派Pico之六、pico-project-generator使用-CSDN博客

不过可能会有小伙伴跟我一样,在这个过程中出现各种各样奇奇怪怪的情况。所以才有了下面的过程。

可能出现的情况和解决方式

  1. 如果一键安装包安装后没有出现windows命令行和跳转到安装包中ReadMe.md文件的话。

    可以找找电脑开始菜单中的 Pico-Visual StudioCode 软件运行它,有可能弹出一个弹窗要求PowerShell的位置,将PowerShell的位置选择给它就可以了。我的电脑就是出现了这样的情况。

  2. 如果在本机文档文件夹下找不到pico_examples 这个例程文件夹,或者类似名字的文件夹的话。

    可以看下 一键安装包目录下的 pico-examples.zip 文件,将其解压出来就好了。

这里来看下一键安装包安装目录下都有啥:

image-20240819221217030

可以看到,基本上将所有需要的软件都给出来了,特别是ninja,只给了ninja,而不是一整个VSStudio,这个深得我心😂。

  1. 如果在启动pico-generator后,使用VSCode打开工程,用Cmake build(也就是上面VSCode图中齿轮生成那个按钮)进行配置失败的话

    大概率是因为一键安装包安装时没有将对应的文件添加到电脑的环境变量中去。只需要将一键安装包目录下的Cmake、gcc-arm-none-eabi 、ninja下对应文件的路径添加到环境变量Path中就可以了。下面是我电脑的环境变量示例,根据自己的安装路径进行更改就好。

    image-20240819222302421

​ 除此以外,还有一个环境变量需要自己添加,那就是 名为 PICO_SDK_PATH 这个环境变量,我们 需要将它指向一键安装包目录下的pico_sdk 文件夹。下面给出我电脑的示例。

注意这个环境变量是和Path同样的,而不是像上面那样添加在Path中的。image-20240819222651506

基本上我能遇到的问题就这些,希望能给大家一些参考吧,其实只要明白安装环境对应软件的关系,安装和解决这些奇奇怪怪的问题也不难。

C/C++SDK示例

使用VsCode打开pico-generator生成的工程文件夹,选好对应的编译器,点击生成(build) Cmake就会将对应的make文件生成在build文件夹下 。

image-20240819223802836

使用终端进入build文件夹,make一下就可以了。

image-20240819224229480

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

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

相关文章

【系统架构设计】系统分析与设计方法

【系统架构设计】系统分析与设计方法 定义问题与归结模型问题分析因果鱼骨图 帕累托图上下文范围图 问题定义 需求分析与软件设计结构化分析与设计结构化分析DFD数据字典技术 结构化设计结构图程序流程图和盒图 模块设计 面向对象的分析与设计用户界面设计 定义问题与归结模型…

Eureka 原理与实践全攻略

一、Eureka 概述 Eureka 在微服务架构中具有举足轻重的地位。它作为服务注册与发现的核心组件,为分布式系统中的服务管理提供了关键支持。 Eureka 的主要功能包括服务注册、服务发现、服务健康监测和自我保护机制。服务注册功能使得服务提供者能够在启动时将自身的…

Linux安装配置docker,k8s

1.linux虚拟机初始配置 详情操作见下,具体操作需要注意 1.网络模式选择 NAT模式(对应第8点) 2.不用选择安装 GUI图形界面 (对应19点-5) 3.分区非必须操作 可以不分区(对应20点) 4.打开网络开关 (对应23点) CentOS 7安装教程&#xff…

利用GPTs,打造你的专属AI聊天机器人

在2023年11月的「OpenAI Devday」大会上,OpenAI再度带来了一系列令人瞩目的新功能,其中ChatGPT方面的突破尤为引人关注。而GPTs的亮相,不仅标志着个性化AI时代的到来,更为开发者和普通用户提供了前所未有的便利。接下来&#xff0…

C语言-部分字符串函数详解 1-4

C语言-部分字符串函数详解 1-4 前言1.strlen1.1基本用法1.2注意事项\0size_t 1.3模拟实现 2.strcpy2.1基本用法2.2注意事项**源字符串必须以 \0 结束****会将源字符串中的 \0拷贝到目标空间****目标空间必须可修改****目标空间必须能容纳下源字符串的内容** 2.3模拟实现 3.strn…

ES 模糊查询 wildcard 的替代方案探索

一、Wildcard 概述 Wildcard 是一种支持通配符的模糊检索方式。在 Elasticsearch 中,它使用星号 * 代表零个或多个字符,问号 ? 代表单个字符。 其使用方式多样,例如可以通过 {"wildcard": {"field_name": "value&…

【数据结构】关于冒泡排序,选择排序,插入排序,希尔排序,堆排序你到底了解多少???(超详解)

前言: 🌟🌟Hello家人们,这期讲解排序算法的原理,希望你能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/I1Ssq 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-C…

RK3568平台开发系列讲解(PWM篇)PWM的使用

文章目录 一、什么是PWM二、RK3568 PWM2.1、PWM 通道与引脚2.2、PWM 简介2.3、PWM 设备节点三、RK3568 PWM 调试节点📢 PWM 是很常用到功能,我们可以通过 PWM 来控制电机速度,也可以使用 PWM 来控制 LCD 的背光亮度。 一、什么是PWM PWM 全称是 Pulse Width Modulation,也…

XSS- - - DOM 破坏案例与靶场

目录 链接靶场: 第一关 Ma Spaghet 第二关 Jefff 第三关 Ugandan Knuckles 第四关 Ricardo Milos 第五关 Ah Thats Hawt 第六关 Ligma 第七关 Mafia 第八关 Ok, Boomer 链接靶场: XS…

SmartEDA崛起!揭秘其逐步取代Multisim与Proteus的四大颠覆性优势

在电子设计自动化(EDA)的浩瀚星空中,两款老牌软件——Multisim与Proteus,长久以来如同璀璨的双星,引领着电路仿真与设计的潮流。然而,近年来,一颗新星悄然升起,以其独特的魅力与强大…

《向量数据库 Faiss 搭建与使用全攻略》

一、Faiss 概述 Faiss 是由 Facebook AI 团队开发的一款强大工具,在大规模数据处理和相似性搜索领域占据着重要地位。 在当今信息爆炸的时代,数据规模呈指数级增长,如何从海量数据中快速准确地找到相似的数据成为了关键挑战。Faiss 应运而生…

【MeterSphere】占用磁盘空间过大问题处理方式

目录 一、现象 二、 清理docker系统命令(效果不大) 三、 追踪文件 四、 处理logs(小处理) 五、 对比容器问题发现node容器问题 六、结果 前言:部署ms使用一段时间,服务器监控发现磁盘空间占用过大&am…

基于SpringBoot的Java个人博客系统的设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家,服务很多代码文档,百分百好评,战绩可查!!入职于互联网大厂,可以交流,共同进步。有保障的售后 代码参考数据库参…

【Unity教程】使用 Animation Rigging实现IK制作程序化的动画手臂跟随手自动移动等效果

在 Unity 开发中,为角色创建逼真且自适应的动画是提升游戏体验的关键。在本教程中,我们将结合 Animation Rigging 工具和 IK(Inverse Kinematics,反向运动学)插件来实现程序化的动画。 视频教程可以参考b战大佬的视频…

CLIP模型(一)

一、概念 Contrastive Language-Image Pre-Training(利用文本的监督信息训练一个迁移能力强的视觉模型) CLIP任务: CLIP在完全不使用ImageNet中所有数据训练的前提下 直接Zero-shot得到的结果与Resnet在128W Imagenet数据局训练后效果一样 现在CLIP下游任务已经…

Java-Mybatis-MybatisPlus

文章目录 Mybatis基础概念持久层框架比较环境搭建及工程创建核心配置文件xxxMapper.xml文件mybatis实现过程junit测试mybatis及优化查询sql语句 Mybatis-plus基础概述组成及实现过程SpringbootMybatisPlus使用过程 实战插入操作默认id Mybatis 基础 概念 历史:My…

学分绩点预警系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图详细视频演示技术栈系统测试为什么选择我官方认证玩家,服务很多代码文档,百分百好评,战绩可查!!入职于互联网大厂,可以交流,共同进步。有保障的售后 代码参考数据库参…

【图像去噪】论文精读:Toward Convolutional Blind Denoising of Real Photographs(CBDNet)

文章目录 前言Abstract1. Introduction2. Related Work2.1. Deep CNN Denoisers2.2. Image Noise Modeling2.3. Blind Denoising of Real Images 3. Proposed Method3.1. Realistic Noise Model3.2. Network Architecture3.3. Asymmetric Loss and Model Objective3.4. Trainin…

分享世界上最好的5个滑雪小镇

滑雪爱好者和冬季旅行者们,听好了。随着北半球变成冰雪仙境,是时候计划下一个冰雪覆盖的冒险了。 无论你是一个经验丰富的专业人士还是一个滑雪新手,我们整理了世界上五个最好的滑雪小镇,帮助你找到你完美的白雪覆盖的天堂。 这些…

CPMF复现笔记(2):训练MVTecAD-3D数据集, 精度SOTA

文章来自曹云康的最新论文《Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection》,在MVTecAD-3D取得了最佳分数。代码地址GitHub - caoyunkang/CPMF: [PR] Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection 复现效果 …