0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何设置VS代码配置来调试嵌入式处理器

麦克泰技术 来源:麦克泰技术 2023-12-05 11:08 次阅读

如果您开始使用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微控制器。为此,我们可能会添加一个看起来像以下的配置:

c78c9afa-931a-11ee-939d-92fbcf53809c.png

您可以从配置中看到,我们正在做几件事:

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(接口)

这些更改的实现将导致配置文件如下所示:

c7a665de-931a-11ee-939d-92fbcf53809c.png

调试微控制器

配置完成后,您只需单击运行->开始调试,如果一切配置正确,您将看到一个调试终端打开并连接到您的目标。您应该会看到熟悉的调试屏幕,有一个断点,如下图所示:

c7c7f24e-931a-11ee-939d-92fbcf53809c.png

结论

Visual Studio Code是一个高度配置的编辑器,可以设置为调试嵌入式软件。广泛的选项可能会使一开始设置更具挑战性,但灵活性可以为开发人员提供比大多数供应商IDE更多的工具和可定制性。使用正确的扩展可以使设置VS代码变得容易。您看到了ST-Link和J-Link的配置。针对您自己的处理器对这些配置的小幅修改可使您快速启动并运行VS Code中的调试功能。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6809

    浏览量

    147637
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222158
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343620
  • 嵌入式软件
    +关注

    关注

    4

    文章

    227

    浏览量

    26383
  • Visual
    +关注

    关注

    0

    文章

    252

    浏览量

    34012

原文标题:如何使用 Visual Studio Code调试微控制器

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式云计算与视频大数据——基于TI嵌入式处理器

    嵌入式云计算与视频大数据——基于TI嵌入式处理器【摘取自:西安电子科技大学——张亮】小编在此仅仅摘取部分内容作为引入点,希望能为大家点引出云时代的大方向,对嵌入式进一步深入学习。大量图
    发表于 07-19 14:27

    32位嵌入式处理器与8位处理器应用开发有什么不同?

    于32位嵌入式处理器来说,因其过高的时钟频率(50MHZ至400MHZ以上)和复杂的封装形式(如BGA)导致ICE很难胜任开发工具的 工作。CPU厂商借助于边界扫描接口(JTAG口)提供调试
    发表于 04-06 09:11

    嵌入式linux培训之嵌入式微处理器的选择

    的性能等。  3、操作系统支持嵌入式系统越来越复杂,所以采用嵌入式操作系统管理整个系统也越来越普遍。在选择微处理器芯片时,要综合考虑嵌入式
    发表于 07-03 18:30

    32位嵌入式处理器的市场

    嵌入式系统以各种类型的嵌入式处理器为核心,而随着技术的发展,对于嵌入式处理器的性能及功耗的要求愈加严苛。目前,
    发表于 07-19 08:29

    嵌入式微处理器如何选择

    支持嵌入式系统越来越复杂,所以采用嵌入式操作系统管理整个系统也越来越普遍。在选择微处理器芯片时,要综合考虑嵌入式操作系统的性能。因为操作系
    发表于 05-20 11:11

    32位ARM嵌入式处理器调试技术

    是由英国ARM公司开发授权给其他芯片生产商进行生产的系统级芯片。目前在嵌入式32位处理器市场中已经达到70%的份额。笔者在对三星公司的ARM7芯片技术调试的过程中,对这些高端嵌入式系统
    发表于 08-17 16:23

    嵌入式处理器简介

    嵌入式处理器简介嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位
    发表于 07-26 07:18

    嵌入式处理器在线调试原理及通用调试模块设计

    中的方式实现处理器的挂起,通过基于双端口RAM 中一种巧妙的地址映射机制实现同时对多行代码设置断点的功能,通过调试服务程序实现数据搬移等调试
    发表于 07-28 06:00

    嵌入式处理器是什么

      嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位
    发表于 10-27 07:24

    嵌入式处理器是什么

      嵌入式处理器嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位
    发表于 10-28 08:56

    嵌入式处理器有哪些分类

    学习嵌入式的同学都知道嵌入式系统硬件的组成部分是以嵌入式处理器为中心,由存储、I/O设备、通信模块以及电源等必要的辅助接口组成的。可以说
    发表于 11-08 07:46

    嵌入式处理器组成

    组成嵌入式系统嵌入式处理器是系统的核心部件。代表ARM MIPS PowerPC MC68000外设存储SRAM RAM Flash通信RS232 SPI 以太网显示LCD调试
    发表于 11-08 09:12

    嵌入式处理器的分类

    1.简介. ARM 是一个CPU内核. ARM是"Advanced RISC Machine"的缩写. ARM处理器本身是32位设计,但也配备16位指令集嵌入式处理器嵌入式微处理器
    发表于 11-09 07:08

    如何调试嵌入式代码

    、CMSIS-DAP 等硬件调试器嵌入式开发调试过程中扮演了怎样的角色呢?目标芯片内部是如何处理Debug and Trace 信号的?我们如何借助
    发表于 12-17 06:32

    调试嵌入式处理器常用的方法有哪些?

    调试嵌入式处理器常用的方法有哪些?
    发表于 12-24 06:08