【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(运行时类型识别),动态创建机制,窗口切分,子类化-笔记
运行时类信息(RTTI) C: ##是拼接 #是替换成字符串 // RTTI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <afxwin.h>#ifdef _DEBUG #define new DEBUG_NEW #endifCWinApp th…...

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

开源数据库Mysql_DBA运维实战 (修改root密码)
MySQL——修改root密码的4种方法 本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set pass…...
javap获取Kotlin方法JNI方法签名
获取Kotlin方法签名和JAVA不一样的地方就是需要使用Kotlin 命令行编译器生成.class文件: 编写一个Kotlin类,添加JNI方法: 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 ,采样率4KSPS flash 64KB,SRAM 32KB 适用于传感器,电子秤,体脂秤等等...

【STM32】FreeRTOS消息队列和信号量学习
一、消息队列(queue) 队列是一种用于实现任务与任务之间,任务与中断之间消息交流的机制。 注意:1.数据的操作是FIFO模式。 2.队列需要明确数据的大小和队列的长度。 3.写和读都会出现堵塞。 实验:创建一个消息队列…...

初始C语言(6)——详细讲解表达式求值以及其易错点
系列文章目录 第一章 “C“浒传——初识C语言(1)(更适合初学者体质哦!) 第二章 初始C语言(2)——详细认识分支语句和循环语句以及他们的易错点 第三章 初阶C语言(3)——…...

【数据结构】树和二叉树
一、树的概念及结构 1、树的概念 树 是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点&a…...
GPIO 配置 和 PINCTRL有啥区别
GPIO(通用输入/输出)和 PINCTRL(引脚控制器)是在嵌入式系统中用于管理和控制硬件引脚的关键概念。它们在硬件层面上起着不同的作用。 GPIO配置: GPIO 是一种通用的硬件接口,用于控制和读取数字信号。每个 …...
GPT法律领域
法律领域 LaWGPT Github: https://github.com/pengxiao-song/LaWGPT 简介:基于中文法律知识的大语言模型。 数据:基于中文裁判文书网公开法律文书数据、司法考试数据等数据集展开,利用Stanford_alpaca、self-instruct方式生成对话问答数据…...
【C++11保姆级教程】Type aliases(类型别名)、alignof and alignas(类型对齐))
文章目录 前言一、类型别名(Type aliases)1.1类型别名是什么?1.2使用方法1.3实际使用1.4优势 二、类型对齐(alignof and alignas)2.1类型对齐的概念2.2类型对齐快速理解2.3具体使用2.4示例代码 总结 前言 在C11标准中…...

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

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...