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

【RP2040】香瓜树莓派RP2040之搭建开发环境(windows)

本文最后修改时间:2022年08月23日 01:57

一、本节简介

本节以树莓派pico开发板为例,搭建windows下的编译环境。

二、实验平台

1、硬件平台

1)树莓派pico开发板

①树莓派pico开发板

②micro usb数据线

2)电脑

2、软件平台

暂无

三、版权声明

1)作者:甜甜的大香瓜

2)声明:喝水不忘挖井人,转载请注明出处。

3)纠错/业务合作:897503845@qq.com

4)香瓜嵌入式之树莓派群:512598061

5)本文出处:原创连载资料《简单粗暴学树莓派》

6)完整开源资料下载地址(电脑端打开):

opengua.taobao.com

四、实验前提

1、在进行本文步骤前,请先阅读以下章节:

1)《简单粗暴学树莓派》的“第一章至第二章”章节

2)《Raspberry Pi Pico : C/C++ SDK and Toolchain Setup in Windows 10》:

Raspberry Pi Pico : C/C++ SDK and Toolchain Setup in Windows 10 - Arnab Kumar Das

3)《Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发》:Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发_coder.mark的博客-CSDN博客

4)《getting-started-with-pico》的《9.2. Building on MS Windows》

2、在进行本文步骤前,请先实现以下章节:

暂无

五、基础知识

1、pico是什么?

答:

pico是树莓派公司在21年1月出的一款单片机开发板,价格大概在4美金(20多元人民币)。

目前型号有pico、pico H(pico焊上插针)、pico W(pico基础上增加wifi模块)、pico WH(pico W焊上插针)。

 

2、pico能在几个平台做开发?

答:

可以在树莓派(比如树莓派4等)、mac、windows下做开发。

3、windows下需要装哪些软件?

答:

其实要下载安装的软件有很多,上图的只是让你能命令行编译的软件。详情看本文具体操作步骤(或看目录快速浏览)。

六、实验步骤

1、安装Arm GNU Toolchain

1)下载链接

Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

 

 2)安装注意事项

 

这里特别注意要打上勾。

可以在命令行里输入“arm-none-eabi-gcc -v”来判断是否装好。

2、安装CMake

1)下载链接

https://objects.githubusercontent.com/github-production-release-asset-2e65be/537699/658da1cd-1df4-4ba8-ae1f-24f8f742f29d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220805%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220805T124236Z&X-Amz-Expires=300&X-Amz-Signature=2fd92b6a8dd08e92e247972e293098ef571ac9f44bce61c1a15171fe4ede8d76&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=537699&response-content-disposition=attachment%3B%20filename%3Dcmake-3.24.0-windows-x86_64.msi&response-content-type=application%2Foctet-stream

 2)安装注意事项

需如上选择。

3、安装Visual Studio2022

1)下载链接

下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

 2)安装注意事项

要注意文件很大,看看C盘够不够空间。

4、安装Python3.10

1)下载链接

Python Releases for Windows | Python.org

2)安装注意事项

 

5、安装Git

1)下载链接

https://git-scm.com/download/win

2)安装注意事项(其他按默认)

 

 

6、下载pico的SDK和例程

1)在D盘新建一个文件夹,命名为“GUA_PICO”。

2)在GUA_PICO里,点右键,选择“Git Bash Here”。

3)依次输入:

git clone -b master https://github.com/raspberrypi/pico-sdk.git

cd pico-sdk

git submodule update --init

cd ..

git clone -b master https://github.com/raspberrypi/pico-examples.git

7、设置SDK的环境变量

1)右键“我的电脑”属性,点击“高级系统设置”,点击系统属性里“高级”中的“环境变量”。

填入“PICO_SDK_PATH”、“D:\GUA_PICO\pico-sdk”

8、创建编译文件夹并编译

1)打开一个新的Developer Command Prompt for VS 2022。

2)输入:

D:

cd D:\GUA_PICO\pico-examples

mkdir build

cd build

cmake -G "NMake Makefiles" ..

nmake

其中nmake是编译所有例程,时间会比较久。

注意,如果更换了Arm GNU Toolchain的版本,需要删掉build文件夹里的东西,重新编译

注意:

如上图则表示“cmake -G "NMake Makefiles" ..”执行正确了。

如果是报错,有可能是环境变量的路径没设置对,或者要先把build文件夹内的文件删除干净。

如上图,就说明命令行的编译环境已建好。

9、安装Visual Studio Code

1)下载链接

https://code.visualstudio.com/download

2)安装注意事项

默认就有添加PATH,都按默认装即可。

10、配置Visual Studio Code

1)用Developer Command Prompt for VS 2022打开Visual Studio Code

注意这里不能直接打开VS CODE,一定要用命令行打开。

2)在VS CODE里按Ctrl + Shift + X,安装CMake Tool(注意不是CMake)

 

3)添加环境变量

点击右下角设置选择extensions setting

 

与前面一样填入“PICO_SDK_PATH”、“D: \GUA_PICO\pico-sdk”。如下图

 

往下找到Cmake: Generator,输入“NMake Makefiles”,然后关闭Settings。

4)安装cortex-Debug插件

11、使用VS CODE编译

导入工程,File->Open Folder,选择pico-examples的路径。香瓜的路径是“D:\ GUA_PICO\pico-examples”,如下图

 

 

点击“all”选择“blink”工程,我们只选择编译这个工程,否则时间非常久。如下图

此时可以随便修改一下blink(不改的话编译文件不会生成),点build编译,如下图

如果有弹出安装C的指令,点击安装

 

 

查看uf2编译文件的时间是否被更新了,如果更新了,说明编译成功,如下图

12、下载uf2编译文件到pico

1)按着PICO上的BOOTSEL按键,插入usb供电,然后松开。

2)电脑会弹出或识别出一个盘,将刚刚编译的blink.uf2放进新盘内,会自动关闭。

3)pico的led开始闪烁,说明代码已下载成功。

4)可通过调整LED的闪烁时间,来进一步验证是否下载的是自己修改的代码。

至此,就已经装好了VS CODE编译环境,接下来是实现仿真功能。

13、安装MSYS2

1)下载链接

https://www.msys2.org/

2)安装注意事项

全部默认安装后,在弹出的框内填入

pacman -Syu

 

 

装好后窗口会自动关闭,然后重新打开MSYS2。

输入

pacman -Su

 

安装完成后输入

pacman -S mingw-w64-x86_64-toolchain git make libtool pkg-config autoconf automake texinfo mingw-w64-x86_64-libusb gcc

然后要装很久……装好后手动关闭。

14、下载openocd编译文件并执行

1)将香瓜提供的openocd文件夹复制到“D: \GUA_PICO”下

2)打开x64版本的

输入指令(注意是“/”,不是“\”)

cd D:/GUA_PICO/openocd

./openocd.exe

15、下载picoprobe固件进pico

1)按着pico的BOOTSEL按键,插入USB,松开按键。等待电脑识别pico为一个盘。

2)将picoprobe固件拖拽进pico识别的盘里,会自动关闭,即下载成功。

 

16、安装Zadig驱动

1)下载地址

https://zadig.akeo.ie/

2)已下好picoprobe固件的pico,连接电脑。

3)

 

 

 

拔插pico的usb,查看驱动是否装好。

这样出现COM口就说明已经装好了。

17、VS debug环境配置

1)在pico-examples目录下右击鼠标, Git Bash Here

2)输入如下指令,会将pico-examples/ide内的文件拷贝到.vscode目录并修改

cp ide/vscode/launch-raspberrypi-swd.json .vscode/launch.json

 

3)用文本打开“D: \GUA_PICO\pico-examples\.vscode”路径下的launch.json文件,并改成如下图所示,图后附上修改后的代码

{

    // Use IntelliSense to learn about possible attributes.

    // Hover to view descriptions of existing attributes.

    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "Cortex Debug",

            "cwd": "${workspaceRoot}",

            "executable": "${workspaceRoot}/build/blink/blink.elf",

            "request": "launch",

            "type": "cortex-debug",

            "servertype": "openocd",

            "device": "Pico2040",

            "runToMain": true,

            "configFiles": ["interface/picoprobe.cfg", "target/rp2040.cfg"],

            "searchDir": ["D:/GUA_PICO/openocd/tcl"],

            "svdFile": "D:/GUA_PICO/pico-sdk/src/rp2040/hardware_regs/rp2040.svd",

        }

    ]

}

注意searchDir是新加的,需要改成自己电脑中的路径。

4)修改Cortex-Debug插件的配置项目

添加如下路径(根据自己openocd.exe所在路径),修改后关闭,记得点保存

{

    "cmake.configureEnvironment": {

        "PICO_SDK_PATH": "D:\\GUA_PICO\\pico-sdk"

    },

    "cmake.generator": "NMake Makefiles",

    "cmake.configureOnOpen": true,

   

"cortex-debug.openocdPath":"D:/GUA_PICO/openocd/openocd.exe",

    "cortex-debug.gdbPath": "arm-none-eabi-gdb",

}

18、下载libusb

1)下载地址

https://libusb.info/

2)复制文件,具体操作如下图

19、下载python27.dll

1、下载并复制“python27.dll”到“C:\Windows\SysWOW64”

2、使用命令行执行:

regsvr32 python27.dll -s

 

相关文章:

【RP2040】香瓜树莓派RP2040之搭建开发环境(windows)

本文最后修改时间:2022年08月23日 01:57 一、本节简介 本节以树莓派pico开发板为例,搭建windows下的编译环境。 二、实验平台 1、硬件平台 1)树莓派pico开发板 ①树莓派pico开发板 ②micro usb数据线 2)电脑 2、软件平台 …...

基于springboot线上礼品商城

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

开源,微信小程序 美食便签地图(FoodNoteMap)的设计与开发

目录 0 前言 1 美食便签地图简介 2 美食便签地图小程序端开发 2.1技术选型 2.2前端UI设计 2.3主页界面 2.4个人信息界面 2.5 添加美食界面 2.6美食便签界面 2.8 美食好友界面 2.9 美食圈子界面 2.10 子页面-店铺详情界面 2.11 后台数据缓存 2.12 订阅消息通知 2.1…...

kubernetes集群(k8s)之安装部署Calico 网络

目录 安装部署Calico 网络 (一)环境准备 (二)部署docker环境 (三)部署kubernetes集群 (四)部署Calico网络插件 安装部署Calico 网络 (一)环境准备 IP地…...

【C/C++】C++11 Lambda 表达式捕获变量使用技巧

在 C11 中,lambda 表达式可以通过捕获列表来捕获指定的变量。捕获列表是放在 lambda 表达式参数列表之前的一对方括号 [] 中,用来指定 lambda 表达式捕获哪些变量。 捕获列表有以下几种形式: []:不捕获任何变量。[&]&#x…...

大势智慧软硬件技术答疑第八期

1.DasViewer可以使用同一个账号登录多台电脑,然后同时进行格式转换操作吗? 答:可以的 2.在DasViewer里面添加了标注点,能手动修改标注点坐标、手动输入坐标值 吗? 答:目前DasViewer暂不支持手动输入坐标 …...

jvm-jvm与java体系结构

1.JAVA及JVM简介 jvm发展历程 sun classic vm jdk1.4时完全被淘汰 2.虚拟机与JAVA虚拟机 java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行,每一条java指令,java虚拟机中都有…...

Three.js 实现材质边缘通道发光效果

相关API的使用: 1. EffectComposer(渲染后处理的通用框架,用于将多个渲染通道(pass)组合在一起创建特定的视觉效果) 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入,使用Three.…...

【MFC】10.MFC六大机制:RTTI(运行时类型识别),动态创建机制,窗口切分,子类化-笔记

运行时类信息&#xff08;RTTI&#xff09; C: ##是拼接 #是替换成字符串 // RTTI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <afxwin.h>#ifdef _DEBUG #define new DEBUG_NEW #endifCWinApp th…...

ui设计师个人年终工作总结2020最新范文5篇

ui设计师个人年终工作总结(一) 我于20年x育人x日成为公司的试用员工&#xff0c;安排在技术研发中心担任UI界面设计一职&#xff0c;现将我的工作情况分为三个阶段来总结如下汇报&#xff1a; 一、萌芽阶段 记得初次应聘时&#xff0c;我对公司的认识仅仅局限于行业之一&#x…...

开源数据库Mysql_DBA运维实战 (修改root密码)

MySQL——修改root密码的4种方法 本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法&#xff0c;大家可以可以根据的自己的情况自由选择&#xff0c;希望对大家有所帮助 方法1&#xff1a; 用SET PASSWORD命令 首先登录MySQL。 格式&#xff1a;mysql> set pass…...

javap获取Kotlin方法JNI方法签名

获取Kotlin方法签名和JAVA不一样的地方就是需要使用Kotlin 命令行编译器生成.class文件&#xff1a; 编写一个Kotlin类&#xff0c;添加JNI方法&#xff1a; class TestLib {external fun init(callBack: CallBack)interface CallBack{fun onData(count:Int,data:String)} }在…...

ARM-M0内核MCU,内置24bit ADC,采样率4KSPS,传感器、电子秤、体脂秤专用,国产IC

ARM-M0内核MCU 内置24bit ADC &#xff0c;采样率4KSPS flash 64KB&#xff0c;SRAM 32KB 适用于传感器&#xff0c;电子秤&#xff0c;体脂秤等等...

【STM32】FreeRTOS消息队列和信号量学习

一、消息队列&#xff08;queue&#xff09; 队列是一种用于实现任务与任务之间&#xff0c;任务与中断之间消息交流的机制。 注意&#xff1a;1.数据的操作是FIFO模式。 2.队列需要明确数据的大小和队列的长度。 3.写和读都会出现堵塞。 实验&#xff1a;创建一个消息队列…...

初始C语言(6)——详细讲解表达式求值以及其易错点

系列文章目录 第一章 “C“浒传——初识C语言&#xff08;1&#xff09;&#xff08;更适合初学者体质哦&#xff01;&#xff09; 第二章 初始C语言&#xff08;2&#xff09;——详细认识分支语句和循环语句以及他们的易错点 第三章 初阶C语言&#xff08;3&#xff09;——…...

【数据结构】树和二叉树

一、树的概念及结构 1、树的概念 树 是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&a…...

GPIO 配置 和 PINCTRL有啥区别

GPIO&#xff08;通用输入/输出&#xff09;和 PINCTRL&#xff08;引脚控制器&#xff09;是在嵌入式系统中用于管理和控制硬件引脚的关键概念。它们在硬件层面上起着不同的作用。 GPIO配置&#xff1a; GPIO 是一种通用的硬件接口&#xff0c;用于控制和读取数字信号。每个 …...

GPT法律领域

法律领域 LaWGPT Github: https://github.com/pengxiao-song/LaWGPT 简介&#xff1a;基于中文法律知识的大语言模型。 数据&#xff1a;基于中文裁判文书网公开法律文书数据、司法考试数据等数据集展开&#xff0c;利用Stanford_alpaca、self-instruct方式生成对话问答数据…...

【C++11保姆级教程】Type aliases(类型别名)、alignof and alignas(类型对齐))

文章目录 前言一、类型别名&#xff08;Type aliases&#xff09;1.1类型别名是什么&#xff1f;1.2使用方法1.3实际使用1.4优势 二、类型对齐&#xff08;alignof and alignas&#xff09;2.1类型对齐的概念2.2类型对齐快速理解2.3具体使用2.4示例代码 总结 前言 在C11标准中…...

地址解析协议-ARP

ARP协议 无论网络层使用何种协议&#xff0c;在实际网络的链路上传输数据帧时&#xff0c;最终必须使用硬件地址 地址解析协议&#xff08;Address Resolution Protocol&#xff0c;ARP&#xff09;&#xff1a;完成IP地址到MAC地址的映射&#xff0c;每个主机都有一个ARP高速缓…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...

spring boot使用HttpServletResponse实现sse后端流式输出消息

1.以前只是看过SSE的相关文章&#xff0c;没有具体实践&#xff0c;这次接入AI大模型使用到了流式输出&#xff0c;涉及到给前端流式返回&#xff0c;所以记录一下。 2.resp要设置为text/event-stream resp.setContentType("text/event-stream"); resp.setCharacter…...