vscode+platformIO开发stm32f4的实现
作者:Laggage 发布时间:2023-11-02 16:43:37
标签:vscode,platformIO,stm32f4
我的电脑环境
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 框架来开发的.
主要遇到的坑:
platform国内下载的速度感觉比较慢,不知道是不是我用的节点不太好的问题.
由于国内网络环境问题, 第一次新建platformio项目的时候速度比较慢,等了好久.
还有就是配置platformio.ini这个文件,具体看上面,注释写的比较清楚.
来源:https://www.cnblogs.com/Laggage/p/11263725.html
0
投稿
猜你喜欢
- 本文实例讲述了C#启动进程的几种常用方法。分享给大家供大家参考。具体如下:1.启动子进程,不等待子进程结束private void simp
- 一、打印直角三角形这个循环控制打印十行空格for (int x = 1; x <= 10; x++) {//因为要打印一个十行的直角三
- 在分支较多的时候,switch的效率比if高,在反汇编中我们即可看到效率高的原因一、switch语句1、在正向编码时,switch语句可以看
- SpringBoot2之PUT请求接收不了参数的解决办法,这个问题,关乎两个Filter过滤器,是spring3和3.5之后提供的,目的就是
- 最近没事写了一个简易浏览器,在刚开始写的时候遇到一些问题,主要的问题就是如何在自己的webview中显示所有的网页数据,不过不指
- 微服务通过Feign调用进行密码安全认证在项目中,微服务之间的通信也是通过Feign代理的HTTP客户端通信,为了保护我们的业务微服务不被其
- 官网教程一、翻转(镜像)头文件 quick_opencv.h:声明类与公共函数#pragma once#include <opencv
- 问题:在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,就是系统的编码和程序的编码采用了不
- startActivityForResult与startActivity的不同之处在于:1、startActivity( )仅仅是跳转到目标
- 业务现象代码中有一部分代码多次嵌套循环和数据处理,执行速度很慢解决方案通过多线程1、启用多线程private final static Ex
- 构造方法以及参数:PageView可用于Widget的整屏滑动切换,如当代常用的短视频APP中的上下滑动切换的功能,也可用于横向页面的切换,
- Jsch是什么?JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以
- Json的简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个
- 今天来说一个Java多机部署下定时任务的处理方案。需求: 有两台服务器同时部署了同一套代码, 代码中写有spring自带的定时任务,但是每次
- 首先给出一段代码:public class AslistMethod { public static void main(String[]
- 前言 因为自己在做的一个小软件里面需要用到从A-Z排序的ListView,所以自然而然的想到了微信的联系人,我想要的就是那样的效果。本来没
- 有很多同学肯定想学习opencv相关的知识,但是有些情况下每建一次项目都要重新引入下各种文件是不是很苦恼,所以我也面临了这个问题,在网上看到
- 一、方法这里我们用两种方法来实现跑马灯效果,虽然实质上是一种实质就是:1、TextView调出跑马灯效果2、TextView获取焦点&nbs
- 前言最近在工作中需要编译android下的动态库,本以为是一件简单的事,没想到因为工具,以及google本身被墙的原因,折腾了好久。在win
- 本文实例为大家分享了Java实现简单幸运抽奖的具体代码,供大家参考,具体内容如下代码模块:User类:package test1;publi