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 FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置