用VScode作为stm32开发平台(platformIO)
VScode真是个宝,啥都能写,啥平台都能用。本篇教你如何使用VScode配合cubeMX实现一键下载。
1. 硬件
正点原子stm32F103RC开发版(只看芯片型号就行),ST-link调试器。
2. 环境配置
我的os是Win10,理论上Mac和Linux桌面版都可以运行。
首先,安装Vscode和cubeMX,本篇默认以上软件已经安装好。
a. 安装platformIO插件
在VScode中,在插件市场搜索。首次安装时间较长,因为它要安装核心组件platformIO-core
,可以理解为它的后端. 去买杯饮料,或者吃个鸡, 回来差不多就好了.
b. 新建platformIO工程
安装好后, 打开Home Page:
在右侧Quick Access栏中,有4个选项。可以看得出来,PIO对Arduino的支持比较好。但是此时我们需要的是STM32+CubeMX。
点击New Project
打开project配置界面:
点击Finish
后,如果是首次配置的话,又是一段漫长的等待(一把王者农药或者恰鸡)
完成后,VSCode会自动重新加载到该项目文件夹。到这里,一个PIO工程就初始化完成了。
3. 配合CubeMX代码生成
有两种方式可以使其完美配合。
a.1 (建议) 将已有的.ioc文件放入PIO工程根目录下
然后在CubeMX里重新打开这个.ioc文件重新generate code即可。
a.2 新建CubeMX工程
这个有点麻烦,新建的工程必须是空文件夹所以不建议。文章末尾给了一个骚操作思路。
然后CubeMX的Toolchain选项中改为这两个之一:
在用CubeMX生成代码之前先做三件事情:
上图是PIO工程的默认项目目录,其中:
1. 将include
目录重命名为Inc
2. 将src
目录重命名为Src
3. 编辑platformio.ini
,在最下面添加:
然后就可以在CubeMX中点击生成代码了。
4. 刷写MCU
如果要同时连接串口(USB)和调试器到MCU,一定要先插调试器!
编辑platformio.ini
, 添加上传工具选项和debug工具选项:
这里用的是jlink.如果使用stlink,将上述两项jlink修改为stlink即可.
PIO有多种上传方式可以选择,甚至可以用串口方式烧写,具体用法可以到PIO官网查看.
通过调试器连接板子(ST-Link或者J-link亲测都行)后,点击upload:
若是第一次使用,PIO会开始自动下载OpenOCD等开源工具以及jlink或者STlink的驱动,又可以来一盘农药或者恰鸡了。
上传成功:
5. 在VSCode里Debug
由于在上一步中已经在platformio.ini
里指定了debug_tool
,现在可以按下VSCode中最万能的F5
按键,一键对stm32进行debug操作。
6. 后话
最近在上嵌入式这门课,一开始用Keil uVision这个ide,编码下载调试啥都能干,但是缺点就是颜值不大行,而且有些臃肿了。对于用惯了VScode的我来说实在是用不方便,尤其是在智能补全这方面,keil真的不行。
过了两三次实验课,开始用cubeIDE(cubeMX)。因为之前用keil实在是学不到什么东西,所有东西都是调正点原子在教程里写好的库。当然也不是不能学,但是实在是懒惰,不想去深究源码,以后真的要做什么东西估计还是不会做。
cubeIDE, 虽然直接套了Eclipse的一层壳,但是代码补全以及刷写MCU实在是不符合习惯,最终还是放弃.
最近有同学说Clion用OpenOCD工具链刷FreeRTOS时炸掉。至少我在PIO里,openOCD刷FreeRTOS时没问题的。不过PIO刷cubeMX的FreeRTOS又得多操作一点东西,下期单独开个帖子讲。
7.快速操作
理论上建立这样一个工程只需要目录下有俩文件,一是platformio.ini
,二是xxx.ioc
。实际上我新建工程也是这么干的,直接复制原有工程的这两个文件就然后点击upload按钮就初始化完成了。
【学习交流群197416462】
【自己收集的网盘免费资料包,需要的请放心】:
嵌入式物联网 22个STM32项目、大赛作品,【华清远见发放资料包】http://makerschool.mikecrm.com/f4wjYBB
用VScode作为stm32开发平台(platformIO)相关推荐
- platformIO配合vscode搭建STM32开发平台
准备步骤: 1.下载vscode:Visual Studio Code - Code Editing. Redefined 2.vscode下载PlatformIO插件 3.下载STM32CubeMX ...
- Linux下使用vscode在线调试STM32开发板
Linux下使用vscode在线调试STM32开发板 前言 一.安装vscode Cortex-Debug扩展 二.下载和安装STLink开发工具,这是Cortex-Debug需要的配套工具 三.配置 ...
- VSCode实现STM32开发
VSCode简洁美观.功能强大.插件丰富.多用于桌面开发,或许你不知道vscode还可以用来开发嵌入式.下面就来详细介绍下实现过程 依赖的工具 STM32CUBEMX, ST官方的初始化代码生成工具 ...
- STM32CUBEMX and 战舰STM32开发平台V2 (一)
翻到个STM32战舰V2的开发板,打算用STM32CUBEMX重新撸一遍配套自带的58个例程. 直接用CUBE的HAL库+寄存器完成,算是对HAL库的一次学习. 环境与硬件 MCU:STM32F103 ...
- STM32开发环境(工具)之Keil MDK 介绍
STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台.开发工具都可用于STM32开发.选择合适的开发环境可以加快开发进度,节省开发成本.本章将先对STM32常用的 ...
- 使用STM32标准库构建VSCode+gcc+openOCD开发STM32
目前为止,使用STM32的平台比较流行的是keil for Arm和IAR for ARM,这两个平台都比较类似,集成编辑.编译和调试环境,俗称IDE.用户只需简单的操作就能编译和调试STM32,非常 ...
- 无线龙物联网STM32+ZigBee实验箱智能家居多种传感器开发平台
无线龙物联网STM32+ZigBee实验箱智能家居多种传感器开发平台 无线龙STM32-ZigBee实验箱是专门为高校市场打造的一款新型的教学科研平台,用到的STM32嵌入式开发板取代了CC2530的 ...
- VSCode搭建STM32单片机开发环境
前言 由于之前的学习过程中使用过了VSCode.Source Insight这类强大的代码编辑器,感觉实在是太好用了.但是最近自己要用到Keil进行STM32单片机的开发,因为使用过了VSCode这类 ...
- STM32节点移植lorawan协议连接腾讯云物联网开发平台(IoT Explorer)
STM32移植lorawan协议栈连接腾讯云物联网开发平台(IoT Explorer) 前言 开发环境的准备 正文 初始化 入网 发送与接收 前言 在移植协议之前,先给大家科普一下Lora 和 lor ...
最新文章
- Serializer序列化使用
- python批量读取dat文件_python编写Windows环境下批量修改文件名
- ganglia metric 默认监控项翻译
- 40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
- Java反射是什么?看这篇绝对会了!
- springboot1.5.10兼容高版本6.1.1elasticsearch
- 【2022年蓝桥杯】蓝桥杯第一次海选考试题(5题考试大二)(C#题解)
- 黄聪:VS2017调试时提示“运行时无法计算表达式的值”
- mysql update 多个字段_MySQL数据库基础
- THUPC2019划水记
- 8. PHP 5 echo 和 print 语句
- PHP学习笔记【27】--服务端存储技术Session
- python正则表达式--爬取百度文库内容
- javascript简易的动画效果
- 汉诺塔游戏程序可以通过“递归”来实现?但你未必清楚其根本原因。
- CSS - 设置placeholder样式
- 2022 年牛客多校第五场补题记录
- Git命令问题:fatal: Exiting because of unfinished merge
- [省选前题目整理][清橙A1303]tree(LCT)
- 【相机】工业相机必看的六大参数