我的电脑环境

win10

vscode 1.36.1

vscode安装插件

安装完这个插件后会提示你安装 platformIOCore,按照提示安装即可.安装过程可能比较缓慢, 可能需要翻墙.

新建项目

选择板子的的型号和要用的框架

点击完成,等待项目创建完成.(首次创建项目要挺久的, 应该也是要翻墙才可以的)

项目创建完成后,打开查看platformio.ini

修改一下platformio.ini文件

[env:black_f407zg]
platform = ststm32
board = black_f407zg
framework = cmsis upload = stlink ; 使用stlink烧写代码

debug_tool=stlink ; 使用stlink进行在线调试 ; 头文件路径和宏定义

build_flags =

-Isrc/Core

-Isrc/Hardware/inc

-Isrc/LaSystem/inc

-Isrc/Lib/inc ; 添加头文件搜索路径

-D STM32F40_41xxx ; 定义全局宏,在keil中也有类似的操作

-D USE_STDPERIPH_DRIVER ; 同上 build_type = release ; 这里我这边必须选择debug模式编译,否则代码烧到芯片中无法正常运行

配置库函数等操作

我这里选择使用的框架是CMSIS,要自己去把对应的32库函数复制到src目录下面,才能使用

注意这里面的目录和刚才 platformio.ini文件中配置的头文件搜索目录是对应的.

烧写代码到板子上

首先STLink接好,板子供好电.

底部状态栏左侧有一个 水平向右的箭头符号 , 点击它就是上传代码.

底部状态栏上的 勾号 是编译,烧代码之前先编译一下,检查一下有没有啥错误.

总结

platformIO真正用起来之后还是很好的, 但是网络上很少我这种自己复制32的进来编译烧写的, 大部分都是基于 stm32cube 或者 arduino 框架来开发的.

主要遇到的坑:

  1. platform国内下载的速度感觉比较慢,不知道是不是我用的节点不太好的问题.
  2. 由于国内网络环境问题, 第一次新建platformio项目的时候速度比较慢,等了好久.
  3. 还有就是配置platformio.ini这个文件,具体看上面,注释写的比较清楚.
  </div>

vscode + platformIO开发stm32f4的更多相关文章

  1. vscode下面开发vue.js项目

    vscode下面开发vue.js项目   https://blog.csdn.net/linzhiqiang0316/article/details/79176651 vscode下面开发vue.js ...

  2. Vscode extensions开发

    Vscode extensions开发   1◆ generatorcode install npm install -g yo generator-code     2◆ 步骤 yo code   ...

  3. VSCode高效开发插件

    VSCode 必装的 10 个高效开发插件 https://www.cnblogs.com/parry/p/vscode_top_ten_plugins.html 本文介绍了目前前端开发最受欢迎的开发 ...

  4. VSCode 远程开发(带免密)

    VSCode 远程开发(带免密) 简介 Visual Studio Code(以下简称 VS Code)从1.35.0版本正式提供可以在本地编辑远程开发环境的文件的功能,具体实现如下图 安装完成Rem ...

  5. Flutter Android 真机器调试 、模拟器调试、Vscode 中开发 Flutter 应用

    必备条件: 1.准备一台 Android 手机 2.手机需要开启调试模式 3.用数据线把手机连上电脑 4.手机要允许电脑进行 Usb 调试 5.手机对应的 sdk 版本必须安装 注意: 1.关闭电脑上 ...

  6. VSCode Java 开发环境配置 详细教程

    VSCode Java 开发环境配置 详细教程 配置java 下载 用于现在大多数使用者用的是java 8,小白的我先安装java 8好了,^ w ^. 下载地址:Java 8 | Java SE 打 ...

  7. VSCode PHP 开发环境配置 详细教程

    VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...

  8. 在树莓派上开发SpringBoot 之使用VSCode远程开发

    一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...

  9. 使用vscode Container开发调试envoy

    由于我最近在研究 envoy 这个项目,这是个cpp的项目,对于我这种cpp新人来说还是比较有压力的,感觉处处都是坑,开个引导文章记录一下. 如果要研究 envoy 项目源码,那肯定是需要代码跳转的, ...

随机推荐

  1. docker-compose下的java应用启动顺序两部曲之二:实战

    上篇回顾 本文是<docker-compose下的java应用启动顺序两部曲>的终篇,在上一篇<docker-compose下的java应用启动顺序两部曲之一:问题分析>中,我 ...

  2. Python装饰器基础

    一.Python装饰器引入 讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切. 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个 ...

  3. 项目spring boot 写es hbase 运行内存溢出

    本地项目运行正常.服务器上运行内存溢出. 项目内部同时做插入oracle,es,hbase 经过测试发现 同时插入es,hbase是服务器上就会出现内存溢出 如果只插入oracle+es 或oracl ...

  4. 使用Typescript重构axios(二十一)——请求取消功能:添加axios.isCancel接口

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  5. windows,linux安装redis

    windows安装redis   Redis介绍 Redis是什么 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string.list ...

  6. go中的数据结构接口-interface

    1. 接口的基本使用 golang中的interface本身也是一种类型,它代表的是一个方法的集合.任何类型只要实现了接口中声明的所有方法,那么该类就实现了该接口.与其他语言不同,golang并不需要 ...

  7. [剑指offer]第1题,二维数组中的查找

    ①题目 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  8. CentOS7下安装带用户认证的squid服务器(无防火墙)

    1       安装squid服务: yum install squid 安装htpasswd : yum install httpd-tools 2       配置squid配置文件 #该定义需在 ...

  9. hdu 1087 Super Jumping! Jumping! Jumping!(动态规划DP)

    Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  10. Apache服务安装及一些基本操作

    注意:安装apache服务之前记得搭建yum仓库 1.安装apache服务,输入命令“yum install httpd” 安装成功后,会这样显示 2.需要对Apache服务进行启动,输入命令“sys ...