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的主要内容,如果未能解决你的问题,请参考以下文章

vscode+platformIO开发STM32

vscode+platformIO开发STM32

vscode+platformIO开发STM32

vscode+platformIO开发STM32

vscode+platformIO开发STM32

vscode+platformIO开发STM32