我的电脑环境

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. django-表单之模型表单(三)

    models.py-->forms.py-->views.py(get)--index.html-->views.py(post)-->home.html urls.py fr ...

  2. CentOS 7 的root口令破解两种方法

    破解CentOS7的root口令 方法一: 第一步: 启动时任意键暂停启动 按-e-键进入编辑模式 第二步: 1.将光标移动至蓝框处linux16开头的行,添加内核参数 rd.break 2.按ctr ...

  3. JDBC向数据库中写数据

    package MYSQK; import java.sql.*; /** * PreparedStatement 对象可以对sql语句进行预编译,预编译的信息会存在存储该对象中,当相同的sql语句再 ...

  4. 【gradle使用前篇—Groovy简介】

    Groovy介绍 Groovy是一种动态语言,对它的定义是:Groovy是在java平台上的,具有像Python.Ruby和smalltalk语言特性的灵活动态语言,Groovy保证了这些特性像jav ...

  5. spring boot打包成war包的页面该放到哪里?

    背景 经常有朋友问我,平时都是使用spring mvc,打包成war包发布到tomcat上,如何快速到切换到spring boot的war或者jar包上? 先来看看传统的war包样式是什么样子的? 1 ...

  6. 主席树学习笔记(静态区间第k大)

    题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输出 ...

  7. 8.5 NOIP 模拟测试 13

    今天的考试说实话T1很简单没A,我是傻X.T2T3难得一批,但是暴力的分还是拿了! 总结一下就是:骗分过样例,暴力出奇迹!只要瞎搞就行了! 话说现在终于不像之前那么傻了,终于知道打暴力了,因为之前暴力 ...

  8. 腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代

    腾讯开源再次迎来重磅项目,14日,腾讯正式宣布开源高性能图计算框架Plato,这是在短短一周之内,开源的第五个重大项目. 相对于目前全球范围内其它的图计算框架,Plato可满足十亿级节点的超大规模图计 ...

  9. 比较器中的comparing方法以及涉及到的知识

    今天在学习Java核心技术集合程序清单9-3时遇到了问题. 代码如下 public class TreeSetTest { public static void main(String[] args) ...

  10. P0-Logisim简单部件与有限状态机

    #自学了6week,pre都挂了,做了做P0课下测试,觉得自己对有限状态机概念的的理解,特别是牵扯到时序还是很模糊:状态的抽象也不够熟练:logisim和Verilog的实现也存在问题.网上针对性的l ...