使用VSCode编译调试IAR的stm32工程

相对于IAR和Keil上世纪水平的代码编辑器,巨硬出品的VSCode简直就是太香了,可惜毕竟不是专门为嵌入式开发设计的,不一翻折腾也就只能当当代码编辑器用,要编译调试软件还是得打开IAR,每次写stm32还得在两个软件直接来回切换,多少有点麻烦,于是这几天花点时间好好研究了下VSCode的各种插件,总算可以只依靠VSCode实现编写+编译+调试的一条龙服务了,我觉得有必要写这篇文章整理一下,一方面是可能能为有相同需求的人提供点参考帮助,另一方面就是我这个人实在记性不怎么样,指不定哪天就要靠这篇文章来自己教自己了(笑~,这才是主要原因)。

笔者假设看到这篇文章的人已经在电脑上装好了VSCode、IAR、STM32CubeMX、STLink驱动这些东西,并且有基本的使用经验,如果没有装好,可以参考下别人的博客先把他们装好,并且查查基本用法,再回过头来看这篇文章。

一、解决代码编写和编译问题

首先需要解决的是怎么在VSCode下愉快的编写代码并且把调试用的目标文件编译出来。这个还是比较简单的。

首先给VSCode安装两个插件:

  • C/C++,这个插件主要提供对C/C++语言的自动补全、函数跳转、动态语法检查等功能,一般使用VSCode写C/C++代码的开发者都会装它。
  • IAR For Visual Studio Code,这个插件用于解决编译问题,它会根据IAR工程内的配置文件来自动生成VSCode的相关配置文件,同时还可以在VSCode内调用IAR的编译工具来编译打开的工程。

接下来这些步骤,是每次使用VSCode打开新工程时需要做的,只需要在第一次打开新工程时配置就好了。直接在使用STM32CubeMX生成的IAR工程文件夹右键使用VSCode打开。

第一次打开工程时, IAR For Visual Studio Code 插件会自动扫描工程内的IAR配置文件,并自动在.vscode目录内生成c_cpp_properties.json以及iar-vsc.json这两个配置文件,前者主要是定义了各种IAR特有的宏以及工程的头文件包含目录,使得C/C++插件的代码补全、函数跳转等功能可以正常工作;后者主要配置了IAR编译工具链所在的目录以及工程的ewp配置文件所在目录,保证编译工作的正常进行。如下图所示:

 

一般来说是不会出问题的,谨慎点的话可以检查下iar-vsc.json下的对应各个目录是不是正确。

按Ctrl+Shift+P快捷键调出命令窗口,配置下生成任务,如下图所示:

 

 

此时会在.vscode目录下生成tasks.json,里面是编译相关的配置,如下图所示:

一般来说,这之后直接按Ctrl+Shift+B快捷键就可以编译当前工程了,如果没有报错的话,此时

要在VSCode编译IAR 8.32工程,需要进行以下步骤: 1. 安装适当的插件:在VSCode的扩展市场中,搜索并安装C/C++IAR Embedded工具链插件。 2. 打开工程:在VSCode中,点击“文件”菜单,选择“打开文件夹”,然后选择IAR 8.32工程所在的文件夹。 3. 配置编译器:检查IAR Embedded工具链插件的设置是否正确。点击“文件”菜单,选择“首选项”,然后点击“设置”。在设置中搜索“C_Cpp.default.intelliSenseMode”,确保设置为“iar”。 4. 配置任务:点击“查看”菜单,选择“终端”,在终端中选择“新终端”选项。然后在终端中运行“Ctrl + Shift + P”快捷键,输入“Configure Default Build Task”并选择相应的选项。选择“其他”配置,然后在.vscode文件夹下创建一个名为tasks.json的文件,编辑该文件以配置编译任务。 5. 配置任务文件(tasks.json):在tasks.json文件中,使用适当的参数配置任务,例如配置工作目录、编译命令等。确保将编译命令调整为IAR的工具链命令,并将输出目录设置为期望的目录。 6. 运行编译任务:在VSCode中,按下“Ctrl + Shift + B”快捷键选择已配置的编译任务,或者使用命令面板(Ctrl + Shift + P)运行“Tasks: Run Build Task”命令,选择相应的编译任务进行编译。 7. 查看编译结果:在编译完成后,可以查看编译输出结果以及可能出现的错误信息等。 以上是在VSCode编译IAR 8.32工程的简要步骤,根据具体的软件配置和工程要求,可能需要其他额外的配置和操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值