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的更多相关文章
- 用VS Code写C#
目录 前言 下载SDK 安装C#支持 快速创建C#控制台 格式化代码 launch:launch.json must be configured. change 'program' to the pa ...
- VS Code 搭建stm32开发环境
MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...
- 用VS Code写Python程序
安装python 常见的Linux发行版本中已经安装了python,而且可能不止一个版本,以Ubuntu14.04为例,预装的python有2个版本,分别是2.7.6和3.4.3,python2和py ...
- 一步步写STM32 OS【三】PendSV与堆栈操作
一.什么是PendSV PendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它.更详细的内容在<Cortex ...
- 一步步写STM32 OS【一】 序言
一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个 ...
- 一步步写STM32 OS【四】OS基本框架
一.上篇回顾 上一篇文章中,我们完成了两个任务使用PendSV实现了互相切换的功能,下面我们接着其思路往下做.这次我们完成OS基本框架,即实现一个非抢占式(已经调度的进程执行完成,然后根据优先级调度等 ...
- Visual Studio Code 写Python 代码
最近在博客园新闻里面看到微软发布的Visual Studio Code 挺好用的,现在在学习Python,查看官网发布的VSCode 是支持Python代码,自己试着安装用一下,下面是我的安装以及配置 ...
- 用Visual Studio Code写Node.j
介绍 vsc的宣传语是: 一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器. 按它说的,vsc特别适合来作为前端开发编辑器. 内 ...
- visual studio code 写c++代码
首先安装c++插件: 安装 LLVM clang 下载地址:http://releases.llvm.org/ 解决方法:点击黄色灯泡 进入 c_cpp_properties.json文件, 在 pa ...
随机推荐
- 异常-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 ...
- win10家庭版本不能连接远程桌面
出现身份验证错误 要求的函数不受支持,CredSSP 加密 Oracle 修正 然后网上大多数教程是叫你修改组策略,然后试过坑的我发现自己的家庭版没有组策略,天真的我在网上找寻了装组策略的代码,一顿捣 ...
- Bash基础——printf
简介 printf将参数插入到用户定义的文本字符串中,从而创建格式化的输出.printf将格式化的字符串输出到标准输出.printf命令根源是C语言下面的printf函数,就连名字都一样,很多用法也是 ...
- Nginx http升级到https
http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 [其实是同一个网站] http://www.511easy.com/bug/login http:// ...
- 【蜂窝】at+qcfg="band"的计算和使用
查询附件 Quectel_EC25_LTE_模块产品规格书_V1.6 可知当前的蜂窝模块所对应的band频带是什么? eg.1 EC25-AU 当前选择4G 优先, FDD LTE 可看手册QCFG命 ...
- 关于MQ的几件小事(二)如何保证消息队列的高可用
1.RabbitMQ的高可用 RabbitMQ基于主从模式实现高可用.RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式. (1)单机模式: 单机模式就是demo级别的,生产中不会有人使 ...
- 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\ ...
- python 实现定时任务
需求: 想实现 每周一到周五下班钉钉打卡提醒,每周四发周报提醒 使用了二种方法实现 一:apscheduler,代码如下 import json,requests,datetime from apsc ...
- Maven Module和Maven Project的区别
1.maven project和module相当于父子关系.2.当新建的项目中不存在父子关系时使用project.3.当项目中存在父子关系时用project做父工程,module做子工程,module ...
- 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 ...