前言
你是否因为keil页面太丑而烦恼,你是否因为keil编译太慢而恼怒,ok阿,今天也是给大家带来怎么在vscode上进行stm32的编程
(我不会告诉你,我搞了好几天才搞好的💔💔💔)
必要准备
- vscode和c语言环境
- keil5
- stm32开发板
第一步:安装vscode插件——EIDE
EIDE是什么
EIDE的下载
- 在vscode拓展界面搜索EIDE并下载
- 下载好后应该是这个界面
EIDE的配置(重点)
- 点击设置工具链,接着点Keil MDK(可以选择tool.ini的路径,这样会自动选中编译器的选项)。
- 有个✅在边上就是可以了
EIDE功能的简单介绍
- 为什么是简单介绍?因为太啰嗦了,我嫌麻烦😋,大家可以去EIDE的官方文档去看。
1.项目的建立:新建项目或者导入项目
- 新建项目:四个选择。就我个人而言,在还没弄懂EIDE之前都是选择的导入的keil5项目,但是后面自己建了个EIDE模板之后,一直都是从本地项目模板新建自己的项目,舒服的很~( ̄▽ ̄~)(~ ̄▽ ̄)~。
- 导入项目:一般来说都是选第一个,导入keil的工程
选中keil工程
右下角弹出提示是否和keil项目并存(个人建议选NO,不和keil文件夹放一起,太乱了😅,放其他de地方是不影响我们的开发的)。(ง •_•)ง
-无论你是新建还是导入最后都是一样(见👇图),新建的话在项目资源项就是空的,右键添加就行了,添加的如果是文件夹的话有两个选项,虚拟文件夹和普通文件夹(具体的你就看官网去吧),见👇👇图
2.为项目选择芯片支持包(不是必须)
- 点击之后两个选项 ,选from disk(因为本来用keil5编程的时候不就装了吗,选本地磁盘找就行)就行,哦对了,这个不是必须的
找到芯片包就导入了,然后选好自己芯片,
3.构建配置
第一行🔨构建配置 就是选编译器了
第二个看你是什么M3还是啥了,自己选
第三行一般都是false吧,看你keil这里设置吧
第四行啥啥啥的布局,这个比较重要。如果你是新建项目的话,请你参考keil的图来填写
4.烧录配置
- 这个你用啥,你选啥就行,EIDE会提示你安装的。
- 我是用的stlink,当时好像是提示我下了东西的(烧录的),这个大家可以点击左边的实用工具下载的
5.项目属性和项目设置
-这个一看就明白,我才不说🤓🤓🤓🤓
6.安装实用工具和打开插件设置
第二步:安装vscode插件——cortex-debug
在vscode的拓展页面🔍下载
配置cortex-debug(重点)
需要安装一个gdb server,像用JLink的话驱动自带,stlink可以用openOCD
其实以上两个软件都可以在EIDE的实用工具选项安装,省时间
给个EIDE论坛的cortex-debug教程(我当时配置这个用了蛮久,openOCD建议下载别人编译过的,如果自己编译so
麻烦。总的来说的话就是自己下两个东西,然后设置下这两个的路径在cortex-debug中,然后设置cortex-debug 的
launch.json 配置,🤗🤗🤗)
在安装两个软件后,设置arm*****in(懒得打名字了😁)和你的gdb server的路径
我用的是openOCD,所以设置的是openOCD的路径
在setting文件中写的🙃
!!!!!!!!!!!!!🤓🤓请注意,记得设置一下两个软件的环境变量🤓🤓!!!!!!!!!!!!!
还有个luanch文件要写,我到后面的时候再说(◡ᴗ◡✿)(◡ᴗ◡✿)
第三步:开始编程😎😎😎
讲了这么多你肯定会了,直接开始就完了✧(≖ ◡ ≖✿)
1.导入工程or新建工程
- 导入工程:导入keil工程
- 新建工程:自己看着选,看着👆说的,添加下自己的资源文件,别忘了预编译,包括路径(没有模板的话,麻烦吧🤓🤓🤓)
2.设置构建配置
- 选择编译器(前面设置过了,一般都不用动)
- 选CPU类型,导入的不用管,新建的看着选
- 一般可以不管,你有用到就填true
- ***布局,导入的不用管,新建的请参考keil中的,👆有图
- 构建器选项(重要),看👇
- 构建器设置,它和keil的魔法棒那边对应的,请参考keil那边,我这边就给出用的多的几个参考
这个看需要是否打上
👇这个记得取消,如果你需要下载到板子上
3.项目属性和项目设置
-这个只有新建的需要管了,导入的是可以不用管的。新建的时候添加文件的时候一定要加上包括目录和预处理宏定义
可以参考自己之前keil项目的这两个地方👇
4.设置烧录配置
这个比较简单,前面有提过,我用的stlink,所以选上就行(请注意,前面提到的stlink烧录的那个软件不支持中文路径,你的项目不能有中文路径,导入的原项目也不能有中文路径)
第四步:配置调试文件
在这里我们要设置下调试的launch文件
选择我们的cortex-debug
在launch那写代码,我这里是stlink和openocd所以可能有些不一样,
{
"cwd": "${workspaceRoot}",
"executable": "${workspaceRoot}/Output/Debug/template.axf",//可执行文件的路径,你看你自己的是在哪
"name": "stlink", //用的什么仿真stlink还是jlink
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd", //用openocd我这里是openocd,你看你自己用的什么
"configFiles": [
"interface/stlink.cfg", //openocd下的文件
"target/stm32f1x.cfg" // 同上
],
"runToEntryPoint": "main",
"svdFile": "E:\\keil5\\Keil\\STM32F1xx_DFP\\2.2.0\\SVD\\STM32F103xx.svd"//svd文件路径,这个加了就是能看寄存器的值吧,可有可不有,
}
- 关于这个地方大家请参考EIDE论坛的cortex-debug教程
第五步:编译和下载程序
是不是省略了写代码的部分😮😮😮😮😮
我的意思是你自己记得写好😤😤😤
(我比较懒,你写就好了🤡)
- 第一个是编译
- 第二个是re编译
- 第三个是下载
- 第四个是清理Output文件
编译
下载到板子上
最后大家可以多看看EIDE的文档,就知道怎么搞了,我建议可以自己建一个模板,这样每次就会很方便,👋👋👋