【RP2350】香瓜树莓派RP2350之Debug仿真报错的处理
本文最后修改时间:2025年02月12日 01:57
一、本节简介
本节以树莓派pico2开发板为例,对用vs code仿真时出现的问题进行处理。
二、实验平台
1、硬件平台
1)树莓派pico2开发板
①树莓派pico2开发板*2
②micro usb数据线
2)电脑
2、软件平台
1)VS CODE
三、版权声明
1)作者:甜甜的大香瓜
2)声明:喝水不忘挖井人,转载请注明出处。
3)纠错/业务合作:897503845@qq.com
4)香瓜嵌入式之树莓派群:512598061
5)本文出处:原创连载资料《简单粗暴学树莓派》
6)完整开源资料下载地址(电脑端打开):
opengua.taobao.com
四、实验前提
1、在进行本文步骤前,请先阅读以下章节:
1)《简单粗暴学树莓派》的“第一章至第二章”章节。
2、在进行本文步骤前,请先实现以下章节:
1)《简单粗暴学树莓派》的《香瓜树莓派RP2350之搭建开发环境(windows)》
五、基础知识
1、openocd和GDB是什么?
答:
1)以stm32为例,源代码->MDK(编译、仿真、下载)->STM32。
2)以RP2350为例,源代码->GDB(用于发送调试指令)->openocd(将GDB的调试指令,转为SWD接口信号)->STM32。
2、交叉编译是什么?
答:windows系统上编译出来的文件,放到arm芯片(另一个系统平台)上去用,这个编译过程就叫交叉编译。本文用的arm-none-eabi-gdb就是交叉编译工具。
3、仿真时出现“OpenOCD: GDB Server Quit Unexpectedly. See gdb-server output in TERMINAL tab for more details.”怎么办?
答:
1)确保开发板选择正确、不使用Risc-V
安装好后重载vs code
重载后可看到已选择了pico2开发板
2、打开调试信息
上图加入的代码为:
"showDevDebugOutput": "raw" , |
3、覆盖openocd的文件夹
其中interface文件夹和target文件夹,是从scripts文件夹里复制出来的,如果不复制出来,vs code中可能会导致找不到
4、命令行调试
①使用“WIN+R”+“CMD”,打开两个命令行工具(不要使用Developer Command Prompt for VS 2022,环境不一样),左右各摆放一个。
②左边的依次输入(注意核对自己电脑中的路径):
cd .\.pico-sdk\openocd\0.12.0+dev openocd –f interface/cmsis-dap.cfg –f target/rp2350.cfg –s tcl |
出现上图则表示openocd是正常的了,如果有异常需解决后再往下执行。
③右边的依次输入(注意核对自己电脑中的路径):
D: cd .\work\demo\blink\build arm-none-eabi-gdb blink.elf |
如果运行提示找不到gcc工具链,是Arm GNU Toolchain工具没有装好。
④右边的继续输入:
target remote localhost:3333 load monitor reset init continue |
此时就已经在全速运行,可以看到目标板的led在闪烁。
5)如果板子有做低功耗,也可能因为睡死而导致进不去仿真器。解决方法是通过usb线连接电脑先更新一个没有低功耗的固件,再进行仿真。
睡眠函数最好是经过5秒之后再进入,否则很难进行仿真调试。