当前位置: 首页 > 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高速缓…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...