树莓派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。

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

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

相关文章

docker中设置容器健康检查

文章目录 一、docker-compose方式二、Dockerfile方式三、docker run方式四、查看检查日志 一、docker-compose方式 在docker-compose中加入healthcheck healthcheck 支持下列选项: test:健康检查命令,例如 ["CMD", "curl&quo…

向npm注册中心发布包(上)

目录 1、创建package.json文件 1.1 fields 字段 1.2 Author 字段 1.3 创建 package.json 文件 1.4 自定义 package.json 的问题 1.5 从当前目录提取的默认值 1.6 通过init命令设置配置选项 2、创建Node.js 模块 2.1 创建一个package.json 文件 2.2 创建在另一个应用程…

5G时代的APP开发:机遇与挑战

APP开发是互联网行业中的重要组成部分,随着5G时代的到来,移动 APP开发也迎来了新的机遇和挑战。 5G时代不仅会为移动 APP开发带来新的发展机遇,也会给移动 APP开发带来新的挑战。对于企业和开发者而言,5G时代带来的机遇和挑战是并…

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境5

#尝试搭建K210的Micropython开发环境(Win10) #实验程序之三:更新频率演示 #尝试搭建K210的Micropython开发环境(Win10) #实验程序之三:更新频率演示from Maix import freqcpu_freq, kpu_freq freq.get() …

redis数据库与主从复制

目录 一 基本操作 二 执行流程 三 reids持久化 四 rdb和aof持久化的过程 五 为什么会有内存碎片 六 redis组从复制 一 基本操作 set :存放数据 例如 set 键值 内容 set k kokoko k就是键值 kokoko就是内容 get:获取数据 例如 get k 就会出来 k对应的数据 keys 查询键…

向量数据库

向量数据库 什么是向量数据库? 向量数据库是一种为了高效存储和索引AI模型产生的向量嵌入数据而专门设计的数据库。 在传统的关系型数据库中,数据通常以表格的形式存储,而在向量数据库中以向量的形式存储。向量是一组数值,可以表…

SFP3012A-ASEMI代理海矽美(MHCHXM)快恢复二极管

编辑:ll SFP3012A-ASEMI代理海矽美(MHCHXM)快恢复二极管 型号:SFP3012A 品牌:ASEMI 芯片个数:1 芯片尺寸:102MIL*2 封装:TO-247AC 恢复时间:75ns 工作温度&#…

找到需要补充粉笔的学生编号

一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0…

【LeetCode】128.最长连续序列

题目 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出&#xf…

开源快速开发平台:做好数据管理,实现流程化办公!

做好数据管理,可以提升企业的办公协作效率,实现数字化转型。开源快速开发平台是深受企业喜爱的低代码开发平台,拥有多项典型功能,是可以打造自主可控快速开发平台,实现一对一框架定制的软件平台。在快节奏的社会中&…

【亲测可用】Linux上安装Redis教程

一、下载并解压Redis 1、执行下面的命令下载redis: wget https://download.redis.io/releases/redis-6.2.6.tar.gz 2、解压redis: tar xzf redis-6.2.6.tar.gz 3、移动redis目录,一般都会将redis目录放置到 /usr/local/redis目录&#xff1a…

SpringBoot 对接微信公众号模板消息通知

效果图见测试结果,有问题评论 模板消息 开通模板消息功能 登录微信公众平台开通模板消息功能 (未开通时) 添加模板消息 审核通过后,登录微信公众平台,点击 广告与服务 --> 模板消息公众号如果未设置服务类目,则需要先设置服…

golang 中的 cronjob

引言 最近做了一个需求,是定时任务相关的。以前定时任务都是通过 linux crontab 去实现的,现在服务上云(k8s)了,尝试了 k8s 的 CronJob,由于公司提供的是界面化工具,使用、查看起来很不方便。于是有了本文&#xff0c…

【iOS】Cocoapods的安装以及使用

文章目录 前言一、Cocoapods的作用二、安装Cocoapods三、使用Cocoapods总结 前言 最近笔者在仿写天气预报App时用到了api调用数据,一般的基本数据类型我们用Xcode中自带的框架就可以转换得到。但是在和风天气api中的图标的格式为svg格式。 似乎iOS13之后Xcode中可…

mybatis_分页

目的&#xff1a; 减少数据处理量&#xff0c;提高效率 普通sql&#xff1a; 语法&#xff1a;select * from user limit startIndex,pageSize; SELECT * from user limit 3; #[0,n] mybatis_sql: 接口&#xff1a; //分页查询List<User> getUserByLimit(Map<…

如何提高代码效率——时间复杂度与空间复杂度——【C语言】

当我们面对一个问题时&#xff0c;会有许多种解题思路。我们现在的计算机技术已经达到非常先进的地步&#xff0c;所以当我们用不同的方法对待问题时&#xff0c;时间差异不会很明显&#xff0c;内存差异我们一般在平常小问题时感受不到&#xff0c;所以我们不会去纠结程序的优…

JavaEE——Bean的生命周期

目录 1、实例化Bean 2、设置Bean的属性 3、初始化Bean &#xff08;1&#xff09;、执行通知 &#xff08;2&#xff09;、初始化的前置方法 &#xff08;3&#xff09;、初始化方法 &#xff08;4&#xff09;、执行自定义方法 &#xff08;5&#xff09;、初始化的后置…

3个月精通Python(基础篇)——第1天:Python和Vscode环境安装

安装 Python&#xff1a; 访问 Python 官网 https://www.python.org/downloads/ &#xff0c;下载最新的 Python 安装程序。 双击安装程序&#xff0c;按照提示进行安装设置即可。 在安装过程中&#xff0c;请勾选“Add Python X.X to PATH”选项&#xff0c;这样安装后 Python…

Redis学习路线(3)——Redis的Java客户端

一、如何使用Redis的Java客户端 官方文档&#xff1a; https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称&#xff0c;学习成本低&#xff0c;简单实现&#xff0c;但是Jedis实例是线程不安全的&#xff0c;多线程环境下需要基于连…

华为数字化转型之道-读书笔记1

第一章 数字化转型&#xff0c;华为的战略选择 1. 数字化转型是企业的必答题 1.1 解决时代难题&#xff1a;“鲍莫尔成本病” “体验变流量&#xff0c;流量变收入”是其常见的商业模式。数字化平台通过“作业即记录、记录及数据”的方式&#xff0c;能给企业带来很多好处&a…