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

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

3天内不再提示

使用VSCode调试嵌入式程序,打开通往嵌入式系统的神秘之门!

恩智浦MCU加油站 来源:恩智浦MCU加油站 2024-05-09 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

说到VSCode,大家一定都不陌生。这是一款由Microsoft开发的免费、开源、跨平台的源代码编辑器,运行于 Mac OS X、Windows和Linux 之上。它设计用于编写现代Web和云应用的代码,支持多种编程语言和扩展。VSCode具有高性能、轻量级的特点,且可通过安装不同的扩展来适应前端、后端、文档等不同开发场景的需求。

使用VSCode来调试嵌入式程序,可以形容为一场“穿越时空的代码探险”!想象一下,你就像一位勇敢的探险家,手持VSCode这把神奇的“时空钥匙”,打开了通往嵌入式系统世界的神秘之门。

在这个世界里,代码不再是单调无味的字符序列,而是变成了一座座充满挑战的迷宫。每一个断点都是你探险的标记,每一次单步调试都是你解开谜团的步伐。而VSCode的各种调试工具和功能,就像是你手中的魔法道具,帮助你更好地应对各种复杂情况。

当你成功解决了一个棘手的bug,就像是找到了一处隐藏的宝藏,那种喜悦和成就感简直无法用言语来表达!而整个调试过程,就像是一场与嵌入式程序进行智力较量的游戏,既刺激又有趣。使用VSCode调试嵌入式程序,不仅仅是一项技术工作,更是一场充满趣味和挑战的探险之旅!

VSCode主要优点:

免费开源:VSCode是免费的,而且是基于MIT协议开源的

跨平台性:VSCode运行于Mac OS X、Windows和Linux等多个操作系统

轻量级且速度快:VSCode具有优秀的性能,启动速度快,占用的系统资源少

强大的功能:VSCode拥有丰富的插件系统,可以通过安装不同的插件来适应前端、后端、文档等不同开发场景的需求

内置Git支持:VSCode内置了Git版本控制工具,这使得开发者可以直接在编辑器中进行代码版本管理。

今天小编给大家带来的就是借助于VSCode丰富的插件资源搭建一个嵌入平台的代码调试工具。准备工作可以说非常的简单-直接在插件市场中搜索cortex-debug并安装:

29f4efe8-0db0-11ef-a297-92fbcf53809c.png

接下来是编写调试脚本,点击左侧菜单栏中的debug按钮,并选择open a folder新建一个调试目录:

2a070ca0-0db0-11ef-a297-92fbcf53809c.png

建好之后打开,可以发现create a launch.json file被高亮了:

2a21f31c-0db0-11ef-a297-92fbcf53809c.png

接下来就是创建一个launch.json,点击create a launch.json file,弹出的页面中选择Cortex Debug:

2a2dc084-0db0-11ef-a297-92fbcf53809c.png

之后会出现一个模板配置文件:

2a32daa6-0db0-11ef-a297-92fbcf53809c.png

我们要做的就是根据我们自己的调试环境进行修改, 请着重注意标红部分:

2a5cd28e-0db0-11ef-a297-92fbcf53809c.png

选项 作用
executable 编译好的嵌入式镜像
serverpath JLink路径
device 要调试的器件名称
interface 调试接口
serialNumber 调试器序号
jlinkscript 调试脚本
svdFile 外设寄存器描述文件
armToolchainPath 工具链路径

配置好之后,就可以点击这里的绿色三角图标进行调试:

2a8fc748-0db0-11ef-a297-92fbcf53809c.png

等待程序完毕即可开始调试:

2aaac91c-0db0-11ef-a297-92fbcf53809c.png

插件本身支持,查看寄存器、变量、堆栈调用情况、断点、内存查看、串口等,可以说几乎囊括我们平时所用到的所有调试小插件,接下来的操作就请大家自由发挥了,开心调试ing。。。。

至此,本期的VSCode搭建嵌入式调试工程就给大家分享到这里了。文章最后,在这里打一个大大的广告,NXP公司已经推出了基于VSCode平台的嵌入式开发插件:MCUXpresso for VSCode。在VSCode的插件市场中直接搜索即可找到:

2ab61ede-0db0-11ef-a297-92fbcf53809c.png

安装完毕后,在左边选项卡中即可看到:

2abac6c8-0db0-11ef-a297-92fbcf53809c.png



审核编辑:刘清

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

    关注

    41

    文章

    3716

    浏览量

    133106
  • Linux系统
    +关注

    关注

    4

    文章

    609

    浏览量

    29640
  • vscode
    +关注

    关注

    1

    文章

    171

    浏览量

    9006

原文标题:使用VSCode这把神奇的“时空钥匙”,打开通往嵌入式系统的神秘之门!

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式和FPGA的区别

    用于芯片量产前的功能验证。 架构与工作原理差异 嵌入式系统采用顺序执行架构,基于冯·诺依曼或哈佛体系结构,程序指令按顺序从存储器中读取并执行。这种架构灵活但效率相对固定。 FPGA则是并行处理
    发表于 11-19 06:55

    嵌入式系统的定义和应用领域

    嵌入式系统,简而言之,就是一种专为特定设备或装置设计的计算机系统。它们通常配备一个嵌入式处理器,其控制程序被存储在ROM中。这些
    发表于 11-17 06:49

    嵌入式实时操作系统的特点

    操作系统具备高效的中断处理机制,能够快速响应和处理系统的中断事件。 资源管理:实时嵌入式操作系统提供有效的资源管理机制,包括内存管理、设备驱动程序
    发表于 11-13 06:30

    入行嵌入式应该怎么准备?

    知识: 一、C/C++编程C/C++是嵌入式系统开发中最常用的编程语言。熟练掌握C/C++语言将使你能够理解和编写底层驱动程序、操作系统以及与硬件交互的代码。对于
    发表于 08-06 10:34

    Linux嵌入式和单片机嵌入式的区别?

    :使用Linux操作系统,可以运行各种复杂的应用程序和驱动程序。 4. 资源需求 : 单片机嵌入式 :对硬件资源的需求较低,通常只需要一个单片机芯片,内存和存储空间较小。 Lin
    发表于 06-20 09:46

    运行在嵌入式系统上的emApps

    在当今快节奏的嵌入式系统世界中,灵活性和适应性是嵌入式系统实现的关键。SEGGER推出了其最新创新:Embedded apps(emApps)应用,类似于手机上的应用
    的头像 发表于 06-18 09:53 620次阅读
    运行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>上的emApps

    如何使用VSCode+gdbserver远程调试ZMC900E

    由于嵌入式设备资源受限,通常无法在其上安装庞大的IDE调试程序,且许多嵌入式系统并无桌面环境。为了方便调试自开发
    的头像 发表于 05-22 11:40 660次阅读
    如何使用<b class='flag-5'>VSCode</b>+gdbserver远程<b class='flag-5'>调试</b>ZMC900E

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用
    发表于 05-15 09:29

    嵌入式适合自学吗?

    构、时钟系统、电源管理、存储映射等。 嵌入式必学技术点↓↓↓ 1硬件与软件的结合 2实时性要求与资源限制 3跨领域知识整合 4调试与测试困难 二)缺乏专业指导 1)容易走弯路:自学嵌入
    发表于 04-27 09:54

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一个新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些
    的头像 发表于 03-19 14:10 1191次阅读

    泰克MDO32示波器在嵌入式系统调试中的关键技术分析

    随着现代电子技术的飞速发展,嵌入式系统在各个领域的应用日益广泛,从消费电子到工业控制,再到汽车电子和航空航天等。嵌入式系统的复杂性不断增加,使得调试
    的头像 发表于 03-19 13:51 661次阅读
    泰克MDO32示波器在<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>调试</b>中的关键技术分析

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功
    的头像 发表于 01-13 16:30 1185次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    新手怎么学嵌入式?

    操作系统示例。 学习嵌入式技术是一个充满挑战但又极具乐趣的过程。对于新手来说,只要有耐心和恒心,按照上述步骤逐步学习,从基础知识到编程语言,从硬件知识到实践操作,再到嵌入式操作系统
    发表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统嵌入到其他设备或
    的头像 发表于 12-11 09:23 1519次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备
    的头像 发表于 12-09 09:38 1468次阅读