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

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. 异常-Phoenix HBASE Last region should end with an empty key. You need to create a new region and regioninfo in HDFS to plug the hole

    1 详细异常信息 RROR: There is a hole in the region chain between \x03\x00\x00\x00\x00\x00\x00\x00\x00 and ...

  2. win10家庭版本不能连接远程桌面

    出现身份验证错误 要求的函数不受支持,CredSSP 加密 Oracle 修正 然后网上大多数教程是叫你修改组策略,然后试过坑的我发现自己的家庭版没有组策略,天真的我在网上找寻了装组策略的代码,一顿捣 ...

  3. Bash基础——printf

    简介 printf将参数插入到用户定义的文本字符串中,从而创建格式化的输出.printf将格式化的字符串输出到标准输出.printf命令根源是C语言下面的printf函数,就连名字都一样,很多用法也是 ...

  4. Nginx http升级到https

    http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 [其实是同一个网站] http://www.511easy.com/bug/login http:// ...

  5. 【蜂窝】at+qcfg="band"的计算和使用

    查询附件 Quectel_EC25_LTE_模块产品规格书_V1.6 可知当前的蜂窝模块所对应的band频带是什么? eg.1 EC25-AU 当前选择4G 优先, FDD LTE 可看手册QCFG命 ...

  6. 关于MQ的几件小事(二)如何保证消息队列的高可用

    1.RabbitMQ的高可用 RabbitMQ基于主从模式实现高可用.RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式. (1)单机模式: 单机模式就是demo级别的,生产中不会有人使 ...

  7. 2019-ACM-ICPC-南京区网络赛-E. K Sum-杜教筛+欧拉定理

    2019-ACM-ICPC-南京区网络赛-E. K Sum-杜教筛+欧拉定理 [Problem Description] 令\(f_n(k)=\sum_{l_1=1}^n\sum_{l_2=1}^n\ ...

  8. python 实现定时任务

    需求: 想实现 每周一到周五下班钉钉打卡提醒,每周四发周报提醒 使用了二种方法实现 一:apscheduler,代码如下 import json,requests,datetime from apsc ...

  9. Maven Module和Maven Project的区别

    1.maven project和module相当于父子关系.2.当新建的项目中不存在父子关系时使用project.3.当项目中存在父子关系时用project做父工程,module做子工程,module ...

  10. Educational Codeforces Round 68

    目录 Contest Info Solutions A.Remove a Progression B.Yet Another Crosses Problem C.From S To T D.1-2-K ...