1
如果您开始使用Visual Studio Code(VS Code)开发嵌入式软件,马上需要回答的一个问题是:“如何调试我的代码?”在微控制器(MCU)供应商提供的使用Eclipse的IDE中,调试是通过单击一个按钮,之后魔法在后台发生。在VS Code中,如果您单击调试按钮,您可能会收到没有配置好的反馈。在这篇文章中,我们将了解如何设置VS代码配置来调试嵌入式处理器。
查找嵌入式调试扩展
几个不同的选项可以开始调试嵌入式处理器。您可以使用C/C++开发人员用于主机调试的内置cppdbg选项。这是一个选项,但您会发现设置寄存器映射、RTOS感知调试等附加功能可能具有挑战性。对于这些功能,您需要一个专为微控制器设计的扩展。
您可以选择几个扩展选项来获得这些功能。例如:
1) Cortex-Debug:专为ARM Cortex-M微控制器设计,提供可视化界面,并与J-Link、OpenOCD和ST-Link等工具集成。
2) PlatformIO:物联网开发的开源生态系统。它支持许多板和平台,并为最受欢迎的调试仿真器提供统一的调试器。
3) 嵌入式工具:旨在通过集成嵌入式开发所需的几种工具和实用程序,使在VS Code中开发嵌入式系统变得更加容易。
今天,我们将看看如何设置Cortex-Debug。
配置Cortex调试
Cortex Debug的伟大之处在于,一旦你安装了扩展程序,它就会正常工作。在大多数情况下,几乎不需要配置。该插件通常可以自行找到您的GCC和gdb安装,因此您所要做的就是设置VS代码配置。
在VS Code中,有几种方法可以创建配置。首先,您可以使用命令面板。其次,您可以单击运行->添加配置菜单。我更喜欢使用第二种方法,我们将讨论它。添加配置将在项目工作区的.vscode目录中创建launch.json文件。
假设我们想调试一个STM32L4x5微控制器。为此,我们可能会添加一个看起来像以下的配置:
您可以从配置中看到,我们正在做几件事:
1) 定义我们的elf文件的位置(可执行)
2) 在VS代码(名称)中为调试目标提供名称
3) 指定我们要使用Cortex调试扩展(类型)
4) 识别调试工具类型,st-link(服务器类型)
5) 进程的内存映射是什么样子的(比如svdFile)
有了这些信息,启动调试会话并在目标上浏览代码是可能的,就像您正在使用供应商提供的IDE一样。
用SEGGER J-Link进行配置
如果您不使用STLink怎么办?如果你想使用J-Link呢?在这种情况下,我们将对配置进行一些更改。这些可能包括:
1) 显示的VS代码调试名称(名称)
2) 调试应用程序的位置(服务器路径)
3) 服务器类型现在将是J-Link(服务器类型)
4) 我们需要告诉J-Link它是什么设备(设备)
5) 我们需要告诉J-Link接口是什么,JTAG还是SWD(接口)
这些更改的实现将导致配置文件如下所示:
调试微控制器
配置完成后,您只需单击运行->开始调试,如果一切配置正确,您将看到一个调试终端打开并连接到您的目标。您应该会看到熟悉的调试屏幕,有一个断点,如下图所示:
结论
Visual Studio Code是一个高度配置的编辑器,可以设置为调试嵌入式软件。广泛的选项可能会使一开始设置更具挑战性,但灵活性可以为开发人员提供比大多数供应商IDE更多的工具和可定制性。使用正确的扩展可以使设置VS代码变得容易。您看到了ST-Link和J-Link的配置。针对您自己的处理器对这些配置的小幅修改可使您快速启动并运行VS Code中的调试功能。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !