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

相关文章

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Windows的CMD窗口如何查看并杀死nginx进程

《Windows的CMD窗口如何查看并杀死nginx进程》:本文主要介绍Windows的CMD窗口如何查看并杀死nginx进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows的CMD窗口查看并杀死nginx进程开启nginx查看nginx进程停止nginx服务

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、