Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发

本文主要是介绍Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、目的

        在上一篇《Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统》我们介绍了windows上开发环境的搭建过程,本篇我们将进一步讲解在windows系统上如何配合Visual Studio Code进行图形化界面开发与调试。

        开发调试界面如下:

        建议先看一下《Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)_coder.mark的博客-CSDN博客_swd接口》

二、准备

        下载Visual Studio Code并安装

        Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/

        按照博文《Raspberry-Pi-PICO系列--第五篇 开发环境搭建-Windows系统(基于RT-Studio开发)_coder.mark的博客-CSDN博客》中的下载Zadig驱动并安装https://blog.csdn.net/tianizimark/article/details/123057037

三、实战

        1、打开Developer Command Prompt命令行

                输入code命令后,Visual Studio Code自动打开,输入Ctrl + Shift + X安装CMake Tool。

          安装完毕后点击左下角的齿轮,选择settings

                在Settings界面选择Extentions->CMake Tools

                找到Cmake: Configure Environment

         

                点击Add Item,输入如下

                这一步跟上一篇设置环境变量类似

        找到Cmake: Generator,设置成NMake Makefiles,然后关闭Settings。

               安装cortex-Debug插件

                

                导入工程,打开File->Open Folder,然后定位到pico-examples目录

  

         注意右下角的弹窗,点击Yes,如果没有出现此弹窗,可以在terminal中重新打开Visual Studio Code。

               选择GCC 10.3.1 arm-none-eabi,即之前我们安装的工具链。

                此时Visual Studio Code开始配置,然后从OUTPUT我们可以看到

                以上就说明我们环境配置好了,下面我们开始编译

        点击Visual Studio Code的最下方的build图标,就会出现编译过程

                可以点击all图标,然后只编译指定的示例代码,否则会把所有examples都编译一下。 

               现在我们编译一下hello_usb工程,点击Visual Studio Code最下边的all图标,会弹出一个输入框,在里面输入hello_usb,则编译此工程

                

                 默认编译的是Debug版本,可以通过下图的位置进行切换

由于调试需要用的openocd,故需要在windows上先编译openocd

        1、下载并安装MSYS2

MSYS2https://www.msys2.org

                 

         点击完成后,在弹出的命令行窗口中输入命令,更新包数据库和核心包

 pacman -Syu

        安装过程中一直点Y即可,然后窗口会自动关闭

        重新打开Msys2命令行窗口

         输入

pacman -Su

        完成整个安装过程。

        安装必须的依赖包才能编译openocd,输入下面的命令,然后回车完成安装(安装过程比较久,请耐心等待)

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

         

下面开始下载openocd源码并且编译

        需要打开64位版本的Msys2(必须)

 进入到raspberry_pi_pico目录(我的是放在桌面下)

       

$ cd  /c/Users/你的用户名/Desktop/raspberry_pi_pico

$ git clone https://github.com/raspberrypi/openocd.git --branch picoprobe --depth=1
$ cd openocd
$ ./bootstrap
$ ./configure --enable-picoprobe --disable-werror
$ make -j4

           configure成功后会有类似如下截图

         make命令执行完成后在src目录下有openocd.exe可执行文件

                 以上我们就准备好openocd工具,在正式调试之前,我们还需要给其中一个pico下载picoprobe固件

        picprobe源码编译并下载

        由于当前picoprobe只支持在linux编译,故此处直接提供编译好的uf2文件
        其中picoprobe.uf2文件我们通过USB下载到一块PICO中,这样我们就有了一个swd调试器。 

        已经编译好的picoprobe固件如下

        链接: https://pan.baidu.com/s/1iSthOL8d69iyQyH-qQbmzg 提取码: kfmt
       关于SWD调试的内容可以参考Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)_coder.mark的博客-CSDN博客_swd接口https://blog.csdn.net/tianizimark/article/details/123015115

        

          Visual Studio Debug环境配置

                1、在pico-examples目录下新建.vscode目录(我们可以在pico-examples目录下右击,然后Git Bash Here)

$ mkdir .vscode

                2、将pico-examples/ide内的文件拷贝至.vscode目录并进行修改

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

                launch.json的内容具体如下

{"version": "0.2.0","configurations": [{"name": "Pico Debug","cwd": "${workspaceRoot}","executable": "${command:cmake.launchTargetPath}","request": "launch","type": "cortex-debug","servertype": "openocd",// This may need to be arm-none-eabi-gdb depending on your system"gdbPath" : "arm-none-eabi-gdb","device": "RP2040","searchDir":    ["C:/Users/你的用户名/Desktop/raspberry_pi_pico/openocd/tcl"],"configFiles": ["interface/picoprobe.cfg","target/rp2040.cfg"],"svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd","runToMain": true,// Work around for stopping at main on restart"postRestartCommands": ["break main","continue"]}]
}

                特别注意searchDir需要填写自己的目录

                configFiles里面必须改成picoprobe.cfg(因为我们用的picoprobe固件作为调试器固件)

                gdbPath一定要写成arm-none-eabi-gdb

                3、修改Cortex-Debug插件的配置项目

                

                修改openocd path配置为我们编译好的的openocd路径(点击Edit in settings.json)

                完整的settings.json文件如下

{"workbench.colorTheme": "Visual Studio Light","cmake.configureEnvironment": {"PICO_SDK_PATH": "C:\\Users\\你的用户名\\Desktop\\raspberry_pi_pico\\pico-sdk"},"cmake.generator": "NMake Makefiles","cmake.configureOnOpen": true,"cortex-debug.openocdPath": "C:/Users/你的用户名/Desktop/raspberry_pi_pico/openocd/src/openocd.exe","workbench.startupEditor": "none"
}

                   其中要注意的是PICO_SDK_PATH必须配置成你的路径

                  cortex-debug.openocdPath必须配置成你编译出来的openocd.exe          

           最后需要做的最重要的事情是需要将libusb-1.0.dll这个文件放到C:\Windows\System目录下

        

         该文件可以从下面的链接出下载

libusbhttps://libusb.info/

         

                至此,所有准备工作都已经准备完毕,开始调试。

        1、打开Visual Studio Code

         2、我们对blink进行编译调试

        3、打开调试窗口,并点击开始按钮

        4、如果之前已经完全按照教程操作的话,应该可以看到如下界面

                单步调试

         

        

        至此,我们就完成了完整的开发环境搭建-Windows系统 + Visual Studio Code开发。

这篇关于Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873166

相关文章

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过