第一次在知乎写博客,献丑了。

VS code写stm32
 

今天实在觉得KEIL太丑,突然想到VS code也可以实现STM32代码的编写,遂决定写一个文章,把VScode变成一个STM32的IDE,实现KEIL的绝大部分功能,实现编译,链接,下载,调试为一体的IDE。参考了如下开源项目,这个项目用起来挺舒服的,自己也不会去写这些,这个还支持keil项目的导入。

基于CUBEMX构建VS code得IDE

先安装VS code

先安装python,这个...我就不写教程了,网上多的很,但我还是推荐一波吧.

下载 GNU Eclipse tools:

有点同学可能由于速度或国内的原因无法下载,请自行解决。百度云有点恶心,所以就不传了。

等待的时候,我们去VS code的插件市场安装一下Cortex-Debug插件和python插件 如下图

然后继续下载CPU特定的SVD文件 在这里下载。 不用全部下,你也不可能全部下下来,笑:)。 只需下载你需要的板子型号所对应的开发包即可。如

然后我们把上面下的三个文件和刚刚下载的SVD文件放在一个你熟悉的文件夹下,这个文件夹一定自己要找得到,不过我建议如下目录:%userprofile%\ AppData \ Roaming \ GNU MCU Eclipse,然后解压,我建议把解压出来的文件放在同一个文件夹下。 如图 ,忽略那个压缩包。

最后,下载STM32 cubemx,安装。

到这里,就可以开始安装了

打开STM32CUBEMX,创建一个工程,可以看我下边的图

创建一个新工程

挑选好自己的开发板 之后,根据自己的需要初始化,然后我们改下设置

然后生成代码

然后用VS code打开工程生成的代码的文件夹

然后,我们下载这里的所有文件,放入CUBEMx生成代码的目录,也就是VS code现在打开的目录,如图

这是我的完成版 然后用python运行ideScripts的update.py 按如图所示填入

然后,如图所示,即为成功

这里有一个问题,需要注意,所有路径不要包含空格,不然无法构建。 然后,打开main.c,按Ctrl+P,输入>Run,可见运行任务,然后build,测试即可。 至此,我们完成了基本构建,如果,还有别的需求,请自行查阅资料,或在评论区询问。

参考资料:https://github.com/damogranlabs/VS-Code-STM32-IDE

VS code写stm32的更多相关文章

  1. 用VS Code写C#

    目录 前言 下载SDK 安装C#支持 快速创建C#控制台 格式化代码 launch:launch.json must be configured. change 'program' to the pa ...

  2. VS Code 搭建stm32开发环境

    MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...

  3. 用VS Code写Python程序

    安装python 常见的Linux发行版本中已经安装了python,而且可能不止一个版本,以Ubuntu14.04为例,预装的python有2个版本,分别是2.7.6和3.4.3,python2和py ...

  4. 一步步写STM32 OS【三】PendSV与堆栈操作

    一.什么是PendSV PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它.更详细的内容在<Cortex ...

  5. 一步步写STM32 OS【一】 序言

    一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个 ...

  6. 一步步写STM32 OS【四】OS基本框架

    一.上篇回顾 上一篇文章中,我们完成了两个任务使用PendSV实现了互相切换的功能,下面我们接着其思路往下做.这次我们完成OS基本框架,即实现一个非抢占式(已经调度的进程执行完成,然后根据优先级调度等 ...

  7. Visual Studio Code 写Python 代码

    最近在博客园新闻里面看到微软发布的Visual Studio Code 挺好用的,现在在学习Python,查看官网发布的VSCode 是支持Python代码,自己试着安装用一下,下面是我的安装以及配置 ...

  8. 用Visual Studio Code写Node.j

    介绍 vsc的宣传语是: 一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. 按它说的,vsc特别适合来作为前端开发编辑器. 内 ...

  9. visual studio code 写c++代码

    首先安装c++插件: 安装 LLVM clang 下载地址:http://releases.llvm.org/ 解决方法:点击黄色灯泡 进入 c_cpp_properties.json文件, 在 pa ...

随机推荐

  1. LVS实现健康性检查功能

    LVS高可用性 Director不可用,整个系统将不可用:SPoF Single Point of Failure 解决方案:高可用 keepalived heartbeat/corosync 某RS ...

  2. {RuntimeError} An attempt has been made to start a new process before the current process has finished its bootstrapping phase.This probably means that you are not using fork to start your child...

    加载数据时出现报错: RuntimeError:         An attempt has been made to start a new process before the        c ...

  3. 3星|华杉华楠《超级符号原理》:超级符号是指注册为商标的企业logo

    “ 超级符号是私有财产,超级符号是通过对传统符号的改造,使之成为注册商标,成为私有化财产,通过占有它,让竞争对手无法使用.P112” 超级符号原理 作者: 华杉 华楠 出版社: 文汇出版社 出版年: ...

  4. python----print线程安全问题

    在Python2中print是非线程安全的,Python3中是安全的 https://www.jianshu.com/p/acdaf2ffd81b

  5. 常考JS题笔记

    ### 1. 原始类型有哪几种?null 是对象吗? 答: Null,undefined,Number,String,Blooean,symbol1)[理解和使用ES6中的Symbol][https: ...

  6. 修改git提交的用户名和密码

    目的:每个项目自定义Git提交的用户名和邮箱 1.在本地找到某个项目所在的地址 2.找到config文件 3.增加如下配置 4. ok,这样每个项目都可以定义提交者姓名和邮箱了

  7. java中使用redis --- Set集合的简单应用

    1.java代码 public class RedisTest01 { public static void main(String[] args){ // connect redis server ...

  8. 多任务4---greenlet完成多任务

    同yield一样 ,单线程,来回切换完成多任务,需要安装greenlet插件 pip install greenlet 代码: from greenlet import greenlet import ...

  9. Swagger2 模拟请求头

    前几天开发项目的时候,使用了Restful风格的接口.进行开发的时候,模拟请求头,带Token的时候遇到了一些问题.因为Api接口使用Swagger2进行搭建,所以找到了Swagger2 模拟head ...

  10. man与info

    Linux系统中在线求助命令:man page 与info page 还有--help . --help没有man的详细,首先我们来看mna 命令.在linux中输入 man + 相关的文件 ,就可以 ...