使用VS Code打造完美的嵌入式IDE

您所在的位置:网站首页 嵌入式用什么写 使用VS Code打造完美的嵌入式IDE

使用VS Code打造完美的嵌入式IDE

2023-09-17 20:43| 来源: 网络整理| 查看: 265

前言

在我刚开始接触STM32的时候,使用的keil作为IDE,由于在这之前,我使用过VS, 使用过eclipse, 因而在我使用keil之后,实在难以忍受keil编辑器简陋的功能,可以说是极其糟糕的写代码体验

之后,我尝试过各种IDE,使用eclipse + keil,结果发现eclipse对C语言的支持也是鸡肋,使用emBits + gcc,需要和其他人协同的话就比较麻烦,之后发现了platformIO,也是使用gcc作为编译器,不过只支持HAL库,而且还有一个重要的原因,同事都是用的keil,如果我使用gcc,就不能协同工作了

最后,通过使用VS Code + keil的方式,完美解决了写代码的体验问题,以及工程协作问题

其实网上使用VS Code作为编辑器,keil作为编译器的教程很多,不过基本都是需要在VS Code中编辑,然后在keil中编译,下载,调试,本文就要实现编辑,编译,下载,调试,全部使用VS Code

环境 VS Code keil python C/C++(VS Code 插件) Cortex-Debug(VS Code 插件) 其他VS Code插件(提升体验) 前提

正式写代码之前,首先需要建立好一个工程,这个需要使用keil完成,包括工程配置,文件添加…

编辑

在安装好VS Code插件之后,VS Code编写C代码本身体验就已经很好了,但是,因为我们使用的是keil环境,所以需要配置头文件包含,宏定义等

在工程路径的.vscode文件夹下打开c_cpp_properties.json文件,没有自己新建一个,内容配置如下:

{ "configurations": [ { "name": "STM32", "includePath": [ "C:/Program Files (x86)/keil/ARM/ARMCC/**", "${workspaceFolder}/**", "" ], "browse": { "limitSymbolsToIncludedHeaders": true, "databaseFilename": "${workspaceRoot}/.vscode/.browse.c_cpp.db", "path": [ "C:/Program Files (x86)/keil/ARM/ARMCC/**", "${workspaceFolder}/**", "" ] }, "defines": [ "_DEBUG", "UNICODE", "_UNICODE", "__CC_ARM" ], "intelliSenseMode": "msvc-x64" } ], "version": 4 }

其中,需要在includePath和path中添加头文件路径,${workspaceFolder}/**是工程路径,不用改动,额外需要添加的是keil的头文件路径

然后在defines中添加宏,也就是在keil的Options for Target的C++选项卡中配置的宏

然后就可以体验VS Code强大的代码提示,函数跳转等功能了(甩keil的编辑器一整个时代)

编译、烧录

编译和烧录通过VS Code的Task功能实现,通过Task,使用命令行的方式调用keil进行编译和烧录

keil本身就支持命令行调用,具体可以参考keil的手册,这里就不多说了,但是问题在于,使用命令行调用keil,不管是什么操作,他的输出都不会输出到控制台上!!!(要你这命令行支持有何用)

不过好在,keil支持输出到文件中,那我们就只能利用这个做点骚操作了————一边执行命令,一边读取文件内容并打印到控制台,从而就实现了输出在控制台上,我们就能直接在VS Code中看到编译过程了

为此,我编写了一个Python脚本,实现keil的命令行调用并同时读取文件输出到控制台

#!/usr/bin/python # -*- coding:UTF-8 -*- import os import threading import sys runing = True def readfile(logfile): with open(logfile, 'w') as f: pass wit


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3