vscode+platformIO开发STM32
Posted Sola_Ex
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vscode+platformIO开发STM32相关的知识,希望对你有一定的参考价值。
vscode+platformIO开发STM32
前言
在前面已经描述如何建立基本的PIO工程,但STM32F407VET6是默认有的,如果我需要STM32G0B0CE呢?或者STM32F429的呢?难道只换一个名字就可以了?不存在的。因此当然需要搞明白它是如何连接过去的。
PIO的.platformio结构
在安装好pio插件后,在C盘这个位置,会有一个这样的文件夹
进来之后,会有如下的文件夹:
- .cache
- packages
- penv
- platforms
- python3
我们需要关注的,是packages和platforms两个文件夹。
packages
packages文件夹可以看到,里面包含了对应厂商、或第三方制作的框架包,还有相关工具链。
platforms
platforms文件夹则包含MCU厂商的板卡信息和MCU信息,比如,上一篇用到的genericSTM32F407VET6,就来自这里,
是的,你没看到F429。现在知道了,其实识别MCU,只是一个JSON文件,但这个包,是PIO通过链接下载的,那么我们怎么做这个JSON文件并且不需要每次在不同电脑上都要拷贝或制作一次呢?你当然可以制作一个放在上图的文件夹,但是当你的程序放在别的电脑,没有这个文件,就很麻烦。但制作PIO的人,已经帮你考虑好了,我们可以自己重定义这个文件夹寻找路径。
重定向board文件夹
我以我的工程为例,我选择PIO的一个原因,是因为在同一个项目下,它可以很快切换不同MCU来编译,
重定向的语句,就是在[platformio]里面的:
boards_dir = boards
这句话,这样PIO就会在boards里面寻找板卡信息
构建JSON
我以G0的为例,事实上你可以随便复制一个现成的JSON,对它进行简单的修改
基本的内容,就是:
- MCU名字
- -D代表全局宏定义
- svd是仿真器下载的时候需要使用的,需要名字匹配
- 配置默认仿真器
- 配置MCU的相关信息
这样之后,将JSON放在新建boards里面,在.ini里面配置好环境即可。这样,ST的什么MCU你都可以用了。
以上是关于vscode+platformIO开发STM32的主要内容,如果未能解决你的问题,请参考以下文章