RP2040配置VSCODE开发环境——一劳永逸版

news/2025/12/8 12:19:52/文章来源:https://www.cnblogs.com/always2666/p/19321048
RP2040配置VSCODE开发环境——一劳永逸版

前言

前面的环境搭建基本上介绍了所有的开发环境配置,也对比了各个环境的优劣。个人认为,非商业开发的话,可能Segger Embedded Studio是最好的,但是我不太习惯他的使用方式。这个会另外开一篇谈。
而通吃的方案则是使用VSCODE+ARMGCC+GCC,PlatformIO也是不错的,但是我个人不太习惯,而且经常出错。

由于重装了系统,所以决定找一个尽量不依赖环境变量的方法,比如有些软件可以不安装运行,重装后不需要重新安装,可以直接使用,也懒得追加环境变量。另外尽可能减少手工操作。所谓一劳永逸不是装好不管,而是下次崩坏还能迅速重建。
其实官方的工程生成器已经尽可能减少手工操作了,但是那个是针对Linux的,本身安装也十分简单。所以这里要做一点修改,这里的教程也是按照Windows来做。
再一个就是官方的方法有些方法并不好,这里也做出一些改进。

更新见:RP2040配置VSCODE开发环境 —— 一劳永逸版

安装软件和免安装软件配置

这一步是我尽量避免的,但是之前有些软件装在C盘,重装后直接没了,所以还是得走这一步,所以这一步我也没有验证如果直接使用之前下载好的可执行文件需要添加什么。

gcc arm none eabi

点安装包直接安装就好了。
我的安装目录改到 D:\MyPrograms\InstalledProgram\10 2021.10
这里就安装的时候先把环境变量加进去,毕竟只需要打个钩。
然后这个就不用管了,同时他有个选项是注册这个编译器,我不知道如果不用安装包的话这一步的影响是什么。

CMake

这个不用自己加路径,所以直接重装。

pyocd

由于是python安装的所以重新安装一次就行。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install –U pyocd

其实这个和openocd工具二选一即可,推荐用这个。

这个工具配置安装极为简单,一个软件支持rp2040的所有仿真器,而且连接稍微快一点点,(同一个工程openocd 15s ,pyocd 14s,真就一点点), 自带gdb配置,不知道为啥网上很少再rp2040的教程中提到。一次只能连接一个核心。

免安装软件配置

mingw-w64

之前下好的,直接找到之前部署的路径,我这里是:
D:\MyProgramData\Toolchain\mingw-w64\mingw64\bin
对应的mingw32-make 路径位于:
D:\MyProgramData\Toolchain\mingw-w64\mingw64\bin\mingw32-make.exe

openocd (可选)

直接添加到环境里面。虽然可以配置到cortex-debug的路径里面,但是这个工具比较有用(不如pyocd),可能有时候会在命令行里面用一用。

工程部署

利用树莓派官方提供的生成工程脚本还需要提供 PICO_SDK_PATH 这个环境变量用于生成cmakelists.txt, 这里需要在环境变量中添加这个名称即可;
同样,用于编译生成工具的make工具链也需要增加到环境变量。
这里为了方便操作,直接做了一个BAT批处理来执行这个事情。

实际上完全可以在启动器的python脚本内部完成这个事情,但是我不太想改那个庞大的代码加上参数什么的,于是就把这些简单的东西分离出来。

由于这个生成器本身就要加上--gui参数来启动图形界面,所以一起集成到了BAT文件里面:

@REM "设置文字编码UTF8(不然这里中文是UFT8,在命令行中会默认不是UTF8会出现斤拷棍,但是还是可能有问题建议不要用)"
@echo off
chcp 65001>nul@REM "下面是要自己指定的部分(=左右不要空格),后面都是set来设定临时环境变量,如果希望直接设置好,改成setx就行,写了检测,不会重复"
set picosdkpath_temp=D:\MyProgramData\MCU_SDK\pico-sdk
@REM mingw32-make.exe
set "make_bin_path=D:\MyProgramData\Toolchain\mingw-w64\mingw64\bin"
set make_exe_name=mingw32-make.exe
@REM 初始化一下环境变量,获取系统的环境变量
set "env_path=%PATH%"@REM "起手就问工程名称,免得还要写一次,不要写空格"
set /p projectname=your projectname:
echo your projectname is %projectname% @REM 检测PICO_SDK,如果不存在就添加
@echo off
if not defined PICO_SDK_PATH (echo Environment variable PICO_SDK_PATH is not setecho now, set it to %picosdkpath_temp%set PICO_SDK_PATH=%picosdkpath_temp%
) else (echo Environment variable PICO_SDK_PATH is set to %PICO_SDK_PATH%
)@REM "检测PICO_SDK,如果不存在就添加(用if not exist mingw32-make.exe会一直显示不存在,只能查找字符串。或者findstr /C:%make_bin_path%"echo "%path%" | find /i "%make_bin_path%" >nul  
if %errorlevel% equ 0 (@REM "存在就显示一下好了"echo mingw toolchain has been set to %make_bin_path%
) else (@REM "不存在就添加一下"echo mingw toolchain is not set@REM "追加变量"@set "path=%env_path%;%make_bin_path%"echo mingw toolchain is set to %make_bin_path%
)@REM "调用tsv文件,虽然默认也是这个,设置名称,默认打开vscode"
python pico_project.py  %projectname%  -t pico_configs.tsv -p vscode --gui@REM "完事打开code"
code ../%projectname%

这里没有配置用户环境变量,因为担心出错,但是写成文件足够记住步骤了。如果要一次配置好,就把里面的 set 命令改成setx,就可以把环境变量添加到用户变量了(系统变量需要提权,没必要)。

其中,调用pico_project.py 文件的时候,添加了几个参数,一个是在启动BAT文件的时候要求输入工程名称,因为我觉得这种方式最方便,没必要像原来那样:打开之后,点击名称位置,删掉原来的默认名称后修改自己的。
另一个是添加默认勾选配置vscode,使用配置文件从tsv文件加载预设值(用excel打开),虽然默认也是这个,但是记下来方便修改。
我尝试给他添加默认特性,例如PIO,但是似乎在图形界面里面不生效,没注意看原因。

这个--feature 我实在是没看明白,试了一下它没啥用,写进去什么参数都不报错。。

然后就可以启动生成器了,启动之后接着用这个环境启动vscode打开工程文件夹。但是这还不够,下面是工程生成器的修改。

生成器修改点

先说槽点:
1、LOGO图片太大
2、工程生成路径和python文件在同一层。
3、daplink只配置了自己的Link
4、vscode配置文件只配置了linux下自己的Link的配置。
下面一个一个修改。

去掉LOGO和修改显示设置

不记得在哪里了,反正就是找那个图案的路径。然后是勾选python.exe,兼容性->勾选高DPI->改成应用程序,不然打开很模糊。

显示设置每次换电脑或者更换python版本都要做一次,这个没办法,Windows的问题。

1、工程路径修改到当前生成器的上一层

        self.locationName.set(os.path.abspath(os.path.join(os.getcwd(), "..")))

默认是第一个,所以直接加到第一个,对应配置文件是cmsis-dap.cfg

debugger_list = ["DapLink","SWD", "PicoProbe"]debugger_config_list = ["cmsis-dap.cfg","raspberrypi-swd.cfg", "picoprobe.cfg"]

3、vscode生成.vscode文件部分

def generateProjectFiles(projectPath, projectName, sdkPath, projects, debugger):

它这里是直接一行一行写在python文件里面每一行都带个单引号,修改起来真是脑溢血,但是我当时改的时候脑抽了,所以最后都是按照他那个格式写的。

3.1 生成启动文件部分

  • 启动文件为launch.json
    首先,修改第一个配置为Pyocd的配置,因为pyocd兼容性最好,配置也最简单。
    然后,添加多个Openocd的选项,分别为:
    指定pico-debug固件作为debugger的仿真Core0;
    另外一个据说不会过时的指定core0的命令方法;
    以及理论上是同时连接双核的调试方法,但是实际上cortex-debug的双核调试还在路上。
    其中Pyocd的配置如下:
    {"name": "rp2040_core0 Debug with PyOcd","cwd": "${workspaceFolder}","executable": "${command:cmake.launchTargetPath}","request": "launch","type": "cortex-debug","servertype": "pyocd",//可以修改为rp2040_core1  "targetId": "rp2040_core0","showDevDebugOutput": "none","svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd","runToEntryPoint": "main",// Give restart the same functionality as runToEntryPoint - main"postRestartCommands": ["break main","continue"]},

具体Pyocd的配置和cortex-debug的联合使用见我另外写的PyOCD配置。(我还没写)

TODO: ARM也出了一个调试插件,但是要装好几个插件,而且对应rp2040还有点问题,文档太少了,我就没折腾出来,不知道这个会不会更好,以后没问题了再加上去。

  • 同时,写入文件添加指定编码utf-8,以便使用vscode默认utf-8编辑之后输出支持中文。

      吐槽,他这个东西写的好挫.
    
  • 添加自动判断对应系统应该用什么gdb server的名字

    if isWindows:gdb_path = 'arm-none-eabi-gdb'else:gdb_path = 'gdb-multiarch'
  • 修改设置,默认显示build按钮

  • 推荐扩展文件添加一个 twxs.cmake

最后,c_cpp_properites.json 中它写的也不对,只有linux的配置,而且如果是Windows写入的路径也没有转换。但是这个配置打开vscode的时候点配置会被替换掉,也不影响使用,所以无所谓,就先不改了。

  • 预计其他增加(以后有精力再说)
    task.json 来实现只烧录 参考arm的Arm Embedded Debugger的方式,当然也可以用pyocd来做。
    使用PICO TOOL,就是前面说过的PICO USB那个东西,可以实现烧录和简单的启动停止。
    推荐扩展增加Arm Embedded Debugger以及Arm Device Manager,如果可用的话。

完成这些之后,直接点击前面的启动脚本,就可以直接生成可用的工程并打开vscode了,总算有点IDE的样子了。

vscode配置点(踩坑点)

如果是从头配置起来的基本上没下面这些问题。

cmake tools

插件如果是之前备份的到新电脑的,需要重新安装,否则插件加载不出来。

Cmake编译的时候会报错:

CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

似乎可以通过添加 CMAKE_MAKE_PROGRAM 来解决,但是由于没有环境变量,这还需要指定编译器位置,虽然可以通过cmake tools的脚本解决,但是那还需要额外添加一个文件。设置里面的设置cmake 环境变量似乎并不能给命令用。

所以最简单的办法就是添加mingw32的目录到环境变量

如果追求极致不要修改环境变量,那么就在启动vscode的时候添加临时环境变量,这个文件放在工程文件夹下面。

...  前面就和启动生成器里面添加环境变量的脚本一样
code ../

关于Makefile:找不到CMAKE_MAKE_PROGRAM | 码农家园 (codenong.com)
上面这个老哥说了,很多方法都不如加个环境变量。
但是这个mingw32-make确实很常用,就加到系统里面去吧。

cortex-debugger

之前备份的会启动不了。。。重新安装也不行。只好全部移除了vsc配置文件。

Arm Embedded Debugger

vscode上除了cortex-debugger
Arm Embedded Debugger 似乎也可以:
ARM-software/vscode-embedded-debug: Extension support for VS Code Embedded Debug Extension (github.com)
但是官方文档还不全,给的方法也有问题。。。。我试了一下还是连不上, 报错RDDI-ERROR 13 但是工具本身应该没问题。

${command:device-manager.getSerialNumber}

上面这句命令要安装一个arm device manager扩展才行,但是还是会报错没有连接的设备,指定串号之后可以连接上(串号可以用keil中的配置看到或者使用"pyocd list"命令找到设备的uid),用的是wch-link, 自调试固件不行,不知道是不是被复位了。但是即使连接上了会进入断点进不了主程序,不知道缺什么。
所以暂时不搞了,估计效果不会超过pyocd。

由于armgcc工具链移动路径导致的原来cmakelist失效的问题需要迁移原工程

直接编译或者选择对应的kit都会会报错找不到正确的工具链吧啦吧啦。
所以我的建议是不要移动工具链的位置,保持原来的路径。。。。。这样可以套用上次的设置。
不过迁移很简单:
在cmake插件的选择kit的按钮上,点选unspecified ,然后编译一下,再选对应的arm gcc就可以了。当然,不选回去也行,能用就算成功。

总结

通过这些配置,就可以做到同步到另一台电脑上也可以直接使用,只需要修改脚本中的环境变量的路径,如果工具本身被同步了,不用修改也可以直接使用。
同时ARM GCC是被自动查找的,所以路径不影响,只要之前安装过就行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/992619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年12月不锈钢压滤机厂家最新权威推荐榜单:谁是行业领跑者?

在工业4.0与绿色制造加速融合的背景下,固液分离设备作为化工、环保、食品、医药、新能源等关键行业的“幕后功臣”,其性能与可靠性直接关系到生产效率、资源回收率及环保合规水平。其中,不锈钢压滤机因其耐腐蚀、高…

2025年钛棒过滤器厂家分析报告揭晓!上海青上过滤领跑行业创新!

根据中国过滤分离设备协会联合发布的《2025年中国钛棒过滤器行业发展白皮书》,上海青上过滤设备有限公司凭借其全链条创新能力及在袋式过滤器、反冲洗过滤器、保安过滤器、钛棒过滤器、不锈钢压滤机以及自动化过滤系统…

2025英国留学机构有哪些

2025英国留学机构有哪些一、2025英国留学机构有哪些?作为从业12年的国际教育规划师,我经常被学生和家长询问英国留学中介的选择问题。2025年,英国留学市场持续活跃,据《2025全球教育趋势报告》显示,英国仍是中国学…

2025年最新反冲洗过滤器厂家市场分析报告!上海青上过滤荣膺榜首

反冲洗过滤器凭借高效节能特性,在化工、食品、新能源等领域的需求持续激增,但行业内产品同质化、参数虚标等问题仍存,为帮助企业精准选型。基于技术实力、场景适配性、客户口碑及服务体系四大维度,结合最新市场调研…

2025英国留学中介9月排名

2025英国留学中介9月排名一、2025年英国留学中介选择指南 随着2025年英国留学申请季的临近,许多学生和家长在搜索引擎中高频提问:“英国留学中介如何选?”“哪家中介申请G5名校成功率更高?”作为从业15年的国际教…

---1

BadRequestError Traceback (most recent call last)Cell In[12], line 5 1 # 第一次请求调用大模型 2 messages = [ 3 {"role": "user", "content": "明天北京…

2025保安过滤器厂家综合实力榜TOP3:上海青上过滤以技术革新领跑行业

在工业水处理系统升级的浪潮中,一台量身定制的保安过滤器往往是保障生产安全与效率的关键防线。 工业水处理领域正迎来一场深刻的变革。据2025年《中国工业过滤设备行业发展白皮书》数据显示,不锈钢材质设备因使用寿…

2025靠谱注塑加工厂家推荐:产能与精度双在线

2025靠谱注塑加工厂家推荐:产能与精度双在线!选择注塑加工厂家时,需综合多维度评估以确保合作适配性。首先关注核心工艺能力,包括注塑精度、模具开发水平及材料适配范围,可通过样品检测和过往案例了解实际表现;其次…

2025英国留学中介机构排行榜最新

2025英国留学中介机构排行榜最新一、2025年英国留学中介机构如何选择?高频问题解答作为从事国际教育规划工作超过十二年的专业人士,我经常遇到学生和家长咨询如何筛选可靠的英国留学中介。根据2025年11月27日的最新行…

Q:Word 文档,vbs脚本,批量标准化表格(统一表格宽度、内边距及布局样式)

Q:Word 文档,vbs脚本,批量标准化表格(统一表格宽度、内边距及布局样式)Posted on 2025-12-08 12:02 三年三班王小朋 阅读(0) 评论(0) 收藏 举报适用于需要批量规范表格格式的场景(如标准化报告、说明书等)…

2025英国留学中介哪个好

2025英国留学中介哪个好一、如何选择英国留学中介作为从事12年国际教育规划师的笔者,经常被学生和家长问及“2025年英国留学中介哪个好”这一问题。在2025年11月29日的当下,英国留学申请竞争日益激烈,中介选择成为关…

OEM ESCL Simulator for VW Touareg, Audi A8, Porsche Cayenne Bentley: Immobilizer Repair 2004-2015

Solving ESCL System Troubles in Luxury VW Group Vehicles: The OEM ESCL Simulator Advantage Problem: Immobilizer & Steering Column Lock Challenges in Older Luxury Models Owners of 2004–2015 VW Grou…

2025喷砂机哪家好?喷砂机十大厂家排名榜单

在工业表面处理领域,喷砂机是不可或缺的关键设备。众多专注细分领域的喷砂机厂家凭借独特技术与产品优势,在市场中占据一席之地。以下为 2025 年值得关注的 10 家喷砂机厂家。​一、广东美辉智能装备科技有限公司 【…

使用 aardio 写一个基于pyocd的单片机下载器

使用 aardio 写一个基于pyocd的单片机下载器$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");1 新建工程 最开始本来是打算调用pyocd 的python api的,但是一…

混合机厂家口碑榜:本地直销TOP10强推荐,槽型混合机/混合机/烘箱/对开门烘箱/泳池专用臭氧发生器/脱硝臭氧发生器混合机品牌排行

在精细化工、制药、食品、新材料等众多工业领域,混合工艺是决定最终产品质量的关键环节之一。随着产业升级与智能制造需求的提升,市场对混合设备的精度、效率、稳定性及定制化能力提出了更高要求。在众多采购渠道中,…

2025年盘点:3A信用认证申请优质服务商口碑榜,ISO20000/知识产权认证/企业信用认证/3A信用认证代理口碑推荐榜

在日益注重商业信誉与合规经营的市场环境下,3A信用认证已成为企业彰显实力、获取信任、赢得商机的“金名片”。随着申请需求的激增,市场上涌现出众多提供相关咨询与申报服务的机构。为帮助广大企业精准甄别,本文基于…

2025不锈钢半管加工厂综合实力榜单

2025不锈钢半管加工厂综合实力榜单。不锈钢半管因兼具耐腐蚀、强度高、换热效率好等特点,被广泛用于化工、食品、医药、能源等多个领域。随着下游行业对设备精度和安全性要求的提升,不锈钢半管加工行业也迎来了稳步发…

2025年度竹木地板加工厂TOP5实力推荐:竹木地板厂家哪家

在双碳战略驱动下,竹木地板凭借环保可再生、力学性能优异的特性,成为文旅、校园、商业空间的优选材料。2024年国内竹材加工市场规模突破320亿元,年增速达28%,但用户对防腐耐用承重安全环保认证的核心需求尚未被充分…

2025弯管定制加工厂/型材拉弯加工厂权威排行

2025弯管定制加工厂/型材拉弯加工厂权威排行。弯管定制和型材拉弯加工是机械制造、建筑装饰、交通运输等行业的基础加工环节。弯管定制能根据客户需求将管材加工成特定角度、弧度的部件,型材拉弯则专注于异型材的弯曲…

从复旦实验室到国际前沿:王迅院士的硬核学术人生

王迅院士:奠基表面物理,让“硅”发光的先行者!在当今芯片热与半导体技术备受瞩目的时代,我们不应忘记那些为中国半导体物理学科奠基的先行者。当我们打开AMiner学术搜索系统,输入“王迅”这个名字,映入眼帘的是一…