当前位置: 首页 > news >正文

树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置

9.2. 在MS Windows上构建

在Microsoft Windows 10或Windows 11上安装工具链与其他平台有些不同。然而安装后,RP2040的构建代码基本类似。
 警告
官方不支持在Windows 7或8上使用Raspberry Pi Pico,但在Windows 7或8上可以使其工作。

9.2.1. 安装工具链

如果您正在Microsoft Windows上为Raspberry Pi Pico进行开发,那么可以使用
Windows Pico Installer。
继续从Github (https://github.com/raspberrypi/pico-setupwindows)下载最新版本的安装程序,并运行它。安装向导(参见图15)将指导您安装工具链。
向导完成安装后,它将提示您是否应该显示教程,或者是否应该选择克隆并从Github构建pico-examples存储库。
包括软件:
• Arm GNU Toolchain
• CMake
• Ninja
• Python 3.9
• Git for Windows
• Visual Studio Code
• OpenOCD

9.2.1.1. 开始编写Visual Studio代码

在开始菜单中,在Raspberry Pi Pico SDK 文件夹中寻找Pico - Visual Studio Code快捷方式。的
快捷方式设置所需的环境变量,然后启动Visual Studio Code。
注意
如果您以前安装过Visual Studio Code,我们经常会看到由于插入的随机设置而导致的问题。其他扩展,或由用户,在现有的安装。如果是这种情况,请转到Pico安装程序获取已知问题和解决方案的清单。

9.2.1.2. 打开例子

第一次使用开始菜单快捷方式启动Visual Studio Code时,它将打开pico-examples存储库。
要稍后重新打开示例存储库,可以打开安装在C:\ProgramData\Raspberry Pi \Pico的SDK副本 \pico -examples。

9.2.1.3. 构建示例

当你第一次打开pico-examples项目时,Visual Studio Code会询问你是否要配置它;点击确定
提示继续。(如果你错过了提示,请查找右下角的“铃铛”图标。)然后系统会提示您
选择一个工具包-选择Pico ARM GCC - Pico SDK Toolchain,其中包含GCC ARM -none-eabi条目。如果Pico ARM GCC条目是
不存在,选择“未指定”以使SDK自动检测编译器。
要构建其中一个示例,请单击侧边栏上的“CMake”按钮的树形视图示例项目;展开要构建的项目,然后单击目标名称右侧的小构建图标构建特定的项目。
要构建所有内容,请单击CMake Project Outline视图顶部的“build All Projects”按钮。
注意
您可以在Windows的Pico设置教程中找到有关如何使用Visual Studio Code的更多信息。
重要
如果您在Windows下安装或使用工具链时遇到问题,在Pico安装Windows GitHub库中有可用的故障排除指南。

9.2.2. 可供选择的手动安装

警告
在MS Windows下手动安装工具链比较复杂,不建议使用。
要构建,您需要安装一些额外的工具。
• Arm GNU Toolchain (you need the filename ending with -arm-none-eabi.exe)
• CMake
• Build Tools for Visual Studio 2022
• Python 3.10
• Git
从上面的链接下载每个程序的可执行安装程序,然后仔细按照以下部分将这五个软件包安装到您的Windows计算机上。

9.2.2.1. 安装Arm GNU Toolchain

在安装过程中,您应该勾选该框,当提示这样做时可以将Arm编译器的路径加入系统path。

9.2.2.2. 安装CMake

在安装过程中,当安装程序提示时,将CMake添加到所有用户的系统路径中。

9.2.2.3. 安装Visual Studio 2022的构建工具

当由Visual Studio安装程序的构建工具提示时,您只需要安装c++构建工具。
注意
你必须安装完整的“Windows 10 SDK”包,因为SDK需要在本地构建pioasm和elf2uf2工具。
将它从已安装项目列表中删除将意味着您将无法构建Raspberry Pi Pico二进制文件

9.2.2.4. 安装Python 3.10

在安装过程中,确保它是“为所有用户”安装的,并在提示时将Python 3.10添加到系统PATH
安装程序。您还应该在Python末尾提示时禁用MAX_PATH长度限制
安装。

9.2.2.5. 安装Git

在安装Git时,您应该确保将默认编辑器从vim更改为缺省编辑器,如图21所示。
图21。安装Git
确保勾选复选框以允许从第三方软件使用Git,除非您有充分的理由
否则,在安装Git时,你也应该勾选“按原样签出,按原样提交”,选择“使用Windows”。
“默认控制台窗口”和“启用对伪控制台的实验支持”。

9.2.2.6. 获取SDK和示例

C:\Users\pico\Downloads> git clone https://github.com/raspberrypi/pico-sdk.git --branch master
C:\Users\pico\Downloads> cd pico-sdk
C:\Users\pico\Downloads\pico-sdk> git submodule update --init
C:\Users\pico\Downloads\pico-sdk> cd …
C:\Users\pico\Downloads> git clone https://github.com/raspberrypi/pico-examples.git --branch
master

9.2.2.7. 从命令行构建“Hello World”

通过选择Windows > Visual,从Windows菜单中打开开发人员命令提示符窗口
Studio 2022 > VS 2022的开发者命令提示符
然后设置SDK的路径,如下所示:
C:\Users\pico\Downloads> setx PICO_SDK_PATH “…\pico-sdk”
您现在需要关闭当前的命令提示符窗口并打开第二个开发人员命令提示符
窗口,在继续之前将在其中正确设置此环境变量。
导航到pico-examples文件夹,并按如下方式构建“Hello World”示例:
C:\Users\pico\Downloads> cd pico-examples
C:\Users\pico\Downloads\pico-examples> mkdir build
C:\Users\pico\Downloads\pico-examples> cd build
C:\Users\pico\Downloads\pico-examples\build> cmake -G “NMake Makefiles” …
C:\Users\pico\Downloads\pico-examples\build> nmake
来构建目标。这将产生elf、bin和uf2目标,您可以在hello_world/serial和中找到它们构建目录中的Hello_world /usb目录。UF2二进制文件可以直接拖放到
RP2040板连接到您的计算机使用USB。

9.2.2.8. 从Visual Studio Code构建“Hello World”

现在您已经安装了工具链,您可以安装Visual Studio Code并在该环境中构建您的项目而不是从命令行。
继续下载并安装Visual Studio Code for Windows。安装后打开Developer Command通过选择Windows > Visual Studio 2022 > Developer Command Prompt for VS2022,从Windows菜单中打开提示符窗口
菜单上的。然后输入,
C: >代码
听提示。这将打开Visual Studio Code,并设置所有正确的环境变量,以便工具链正确配置。
警告
如果您通过单击其桌面图标启动Visual Studio Code,或者直接从开始菜单启动构建环境配置不正确。虽然这可以在CMake工具设置中手动完成,
配置Visual Studio Code环境最简单的方法就是通过Developer Command打开它提示窗口,其中已经设置了这些环境变量。
现在我们需要安装CMake Tools扩展。单击左侧工具栏中的Extensions图标(或键入Ctrl +Shift + X),然后搜索“CMake Tools”,点击列表中的条目,然后点击安装按钮。
然后单击界面左侧导航栏底部的齿轮并选择“设置”。然后在设置窗格中单击“扩展”,然后单击“CMake工具”。然后向下滚动到“Cmake”:配置环境”。点击“Add Item”,将PICO_SDK_PATH设置为…\…\pico-sdk,如图22所示。
此外,您需要向下滚动到“Cmake: Generator”,并在框中输入“NMake Makefiles”。
重要
如果你不更改“Cmake: Generator”,Visual Studio将默认为ninja,并且作为GCC构建可能会失败以ninja无法理解的稍微不正确的格式输出依赖信息。
现在关闭设置页面,转到文件菜单,单击“打开文件夹”,导航到pico-examples repo和点击“选择文件夹”。系统将提示您配置项目,参见图23。选择“GCC for arm-none-eabi”
编译器。
点击窗口底部蓝色栏中的“Build”按钮(带有齿轮)。这将创建
运行CMake并构建示例项目,包括“Hello World”。
这将产生elf、bin和uf2目标,您可以在hello_world/serial和hello_world/usb目录中找到它们
在新创建的构建目录中。UF2二进制文件可以直接拖放到RP2040板上
用USB连接到电脑上。

9.2.2.9. 闪烁并运行“Hello World”

使用micro-USB电缆将树莓派Pico连接到树莓派上,确保按住
BOOTSEL按钮强制进入USB大容量存储模式。该板应自动显示为外部驱动器。你现在可以将UF2二进制文件拖放到外部驱动器上。
Raspberry Pi Pico将重新启动,并卸载自己作为外部驱动器,并开始运行闪存代码。
正如我们在第4章中所做的那样,您可以构建Hello World示例,将工作室路由到USB CDC(串行)或UART0在GP0和GP1引脚上。如果您使用USB CDC作为目标输出构建,则不需要安装驱动程序,因为它是一个class-compliant设备。

9.2.2.9.1. UART输出

可选的,如果您想要连接到Raspberry Pi Pico标准UART来查看您需要的输出使用USB到UART串行转换器(例如SparkFun FTDI)将树莓派Pico连接到计算机
基本板,见图24。

相关文章:

树莓派Pico|RP2040|官方文档|在MS Windows上构建“Hello World”及环境配置

9.2. 在MS Windows上构建 在Microsoft Windows 10或Windows 11上安装工具链与其他平台有些不同。然而安装后,RP2040的构建代码基本类似。  警告 官方不支持在Windows 7或8上使用Raspberry Pi Pico,但在Windows 7或8上可以使其工作。 9.2.1. 安装工具…...

全球公链进展| 2023/7/31

一周速览 过去一周,明星项目动态如下: 第114次以太坊核心开发者共识会议:Devnet #8 最早下周推出 Layer2网络Shibarium跨链桥已上线公开测试 Optimism 推出「Law of Chains」v0.1 版本 Sui 通过 SIP#6 ,允许开发人员构建流动…...

Spring源码(三)Spring Bean生命周期

Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的 Bean生命周期流程图 1、生成BeanDefinition Spring启动的时候会进行扫描,会先调用org.springframework.context.annotation.ClassPathScanningCandidateCompo…...

【iOS】Cydia Impactor 错误:file http.hpp; line:37; what: _assert(code == 200)

Cydia Impactor 报错,信息如下 file http.hpp; line:37; what: _assert(code 200)解决方案:Cydia Impactor 已被弃用,切换到sideloadly 即可,亲测成功,并且支持双重验证登录 csdn备份地址 HERE...

3ds MAX绘制茶壶

综合一下之前的内容画个茶壶 长方形,然后转化为可编辑多边形,添加节点并设置圆角,如下图 车削生成一个圆环,其实这一步也可以用一个圆柱体和两个圆角圆柱体解决 效果如下: 茶壶的底座绘制好了 接下来是茶壶的上半边 …...

【element-plus】 table表格每行圆角解决方案 element也通用

系列文章目录 【Vue3ViteTselement-plus】使用tsx实现左侧栏菜单无限层级封装 前言 我们在使用element-plus或element 的table时是否有时UI给到的UI效果是如下面这样的,但是我们翻遍了组件库的文档 调整了很多次样式 发现在 左右侧栏固定的时候 普通的方法是完全…...

【状态估计】基于UKF、AUKF的电力系统负荷存在突变时的三相状态估计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

webstorm格式化代码后单引号转成了双引号

webStorm格式化js代码时单引号变成了双引号,问题如下: 格式化前: 格式化后: 解决办法: window: File -> Settings -> Editor -> Code Style -> Javascript; mac: webStorm -> Preference …...

在langchain中使用带简短知识内容的prompt template

简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate。 他是这句话的简写:“Prompt template that contains few shot examples.” 什么意思呢?就是说在Prompt template带了几个比较简单的例子。然后把这些例子发送给LLM&…...

java医院电子病历系统源码:云端SaaS服务 前后端分离模式开发和部署

电子病历系统是什么? 电子病历是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录,是病历的一种记录形式。 医院通过电子病历以电子化方式记录患者就诊的信息&…...

【Golang 接口自动化01】使用标准库net/http发送Get请求

目录 发送Get请求 响应信息 拓展 资料获取方法 发送Get请求 使用Golang发送get请求很容易,我们还是使用http://httpbin.org作为服务端来进行演示。 package mainimport ("bytes""fmt""log""net/http""net/url&qu…...

Excel透视表与python实现

目录 一、Excel透视表 1、源数据 2、数据总分析 3、数据top分析 二、python实现 1、第一张表演示 2、第二张表演示 一、Excel透视表 1、源数据 1)四个类目,每类50条数据 2)数据内容 2、数据总分析 1)选择要分析的字段&…...

二级制部署kubernetes(1.20)

😘作者简介:一名运维工作人员。 👊宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。 🙏创作不易,动动小…...

云曦暑期学习第二周——文件上传漏洞

1.文件上传 1.1原理 一些web应用程序中允许上传图片、视频、头像和许多其他类型的文件到服务器中。 文件上传漏洞就是利用服务端代码对文件上传路径变量过滤不严格将可执行的文件上传到一个到服务器中 ,再通过URL去访问以执行恶意代码。 1.2为什么存在文件上传漏…...

软件测试右移的意义与关键点

测试右移是将测试延伸到研发阶段之后的阶段,一般在产品发布上线后进行的测试,包括在线测试,在线监控和日志分析,甚至包括α测试、β测。测试右移描述的是软件测试工作重心的转变,而不是某项具体的测试技术。 测试右移的含义 测试…...

VLAN原理(Virtual LAN 虚拟局域网)

VLAN(Virtual LAN 虚拟局域网) 1、广播/广播域 2、广播的危害:增加网络/终端负担,传播病毒, 3、如何控制广播?? ​ 控制广播隔离广播域 ​ 路由器物理隔离广播 ​ 路由器隔离广播缺点&…...

YOLOv8 如何进行目标追踪

检测模型 YOLOv8n 追踪效果 YOLOv8 检测-追踪 分割模型 YOLOv8n-seg 追踪效果 YOLOv8 分割-追踪 关键点模型 YOLOv8n-pose 追踪效果 YOLOv8 检测-追踪 原理解析 目标检测是指在图像或视频中定位并识别出一个或多个目标物体的位置和类别。 目标检测算法通常会输出目标的边界框…...

【暑期每日一练】 day10

目录 选择题 (1) 解析: (2) 解析: (3) 解析: (4) 解析: (5) 解析: 编程题 题一 …...

antd中的Cascader级联选择框怎么清空重置React

项目场景: React项目,使用antd中的Cascader级联选择框 问题描述: 通过其他按钮无法重置选择框中的项 原因分析:(对应解决办法一和二) 1、级联选择框的数据默认是根据options绑定的数组中的value值来进行…...

复现YOLOv5改进最新MPDIoU:有效和准确的边界盒回归的损失,打败G/E/CIoU,效果明显!!!

MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression 论文简介MPDIoU核心设计思路论文方法实验部分加入YOLOv5代码论文地址:https://arxiv.org/pdf/2307.07662.pdf 论文简介 边界盒回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割,是目标…...

Apache Flink 快速入门

Flink开发环境准备学习一门新的编程语言时,往往会从"hello world"程序开始,而接触一套新的大数据计算框架时,则一般会从WordCount案例入手,下面以大数据中最经典入门案例WordCount为例,来编写Flink代码&…...

免费高效的窗口放大神器:Magpie让Windows显示效果翻倍提升

免费高效的窗口放大神器:Magpie让Windows显示效果翻倍提升 【免费下载链接】Magpie A general-purpose window upscaler for Windows 10/11. 项目地址: https://gitcode.com/gh_mirrors/mag/Magpie 还在为老旧游戏或软件在4K显示器上显示模糊而烦恼吗&#x…...

用AI 30分钟搞一个Todo应用?这事到底靠不靠谱

用AI 30分钟搞一个Todo应用?这事到底靠不靠谱 先说结论AI辅助生成代码骨架确实能缩短初始搭建时间,但调试、联调、部署环节的效率提升远不如宣传的20倍。这个流程更适合原型验证和个人小工具,不适合需要长期维护、协作或复杂业务逻辑的项目。…...

夏天来了TEMU爆单指南:我用凌风工具箱“标签模板“搞定夏季爆款

嘿,我是小彭,一个在跨境电商圈摸爬滚打的老玩家🙋♂️。这周在朋友圈晒出单周GMV破300万的成绩单,评论区直接炸了:"你这波操作可以啊""啥时候开个课教教我们"。说实话,真没什么高深技巧…...

量子噪声环境下资源恢复实验与NISQ计算优化

1. 量子噪声环境下的资源恢复实验概述在当前的含噪声中等规模量子(NISQ)计算时代,量子硬件面临的最大挑战之一是如何在存在显著噪声的情况下保持量子态的相干性和有用性。我们设计了一系列实验来探究噪声对量子资源(如纠缠和魔法态…...

Web性能优化:Core Web Vitals实战

Web性能优化:Core Web Vitals实战 大家好,我是欧阳瑞(Rich Own)。今天想和大家聊聊Web性能优化这个重要话题。作为一个全栈开发者,页面性能直接影响用户体验和业务转化。今天就来分享一下Core Web Vitals的优化经验。 …...

服务通信模式选择完全指南

服务通信模式选择完全指南 前言 在微服务架构中,服务间通信是核心基础设施之一。选择合适的通信模式直接影响系统的性能、可靠性和可维护性。本文将详细介绍同步通信和异步通信的各种模式,以及如何根据业务场景做出最佳选择。 一、服务通信概述 1.1 通信…...

10分钟搭建个人游戏云:Sunshine开源游戏串流服务器完全指南

10分钟搭建个人游戏云:Sunshine开源游戏串流服务器完全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否梦想过在任何设备上畅玩PC游戏?想要在客厅…...

RTB点击率预估中的长尾失衡与价值重标定

1. 项目概述:当广告竞价遇上“长尾陷阱”——为什么实时竞价系统里99%的流量不说话,却决定着100%的效果你有没有遇到过这样的情况:训练了一个看起来AUC高达0.92的点击率预估模型,上线后CTR却比老模型还低0.3个百分点?或…...

Unity半透明模型单面显示问题的四大解决方案

1. 这个问题到底在烦谁?——从美术交接现场说起Unity里模型导入后“只有一面能看见,翻过去就变透明”,这事儿我见过太多次了。不是程序员写错了Shader,也不是美术导出时漏了法线,而是Unity默认的Front Face Culling&am…...