STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)

embedded/2024/12/23 17:14:26/

导言


Embedded IDE官网:https://em-ide.com/docs/intro
我猜肯定有部分人使用SI + Keil开发STM32项目,也有vscode + Keil开发STM32程序。SI或vscode编写代码,然后切换Keil编译、下载、调试程序。有一段时间,我也是这么干的。但是,程序切换来,切换去,把我整得特别难受,最终还是忍受着远古开发工具的环境,纯Keil开发。在参与新的项目开发时,有人向我推荐一款vscode插件Embedded IDE。说很好用,务必尝试一下。
经过一段时间的使用,最终我决定后续所有的项目开发都将使用vscode + Embedded IDE插件 + Keil编译器(需要安装Keil软件)。废话不多说,开始实践一遍。
在这里插入图片描述
如上图所示,本次实验使用安富莱的开发板 + J-LINK。
项目源码:https://github.com/q164129345/MCU_Develop/tree/main/eide_example

一、CubeMX


在这里插入图片描述
如上图所示,生成Keil工程。
在这里插入图片描述
说白了,就是一个Keil工程。

二、Keil


在这里插入图片描述
在这里插入图片描述
如上图所示,简单配置一下Keil。
在这里插入图片描述
接着,简单写一个心跳灯程序,烧录到开发板试试,确保Keil工程没有问题。
在这里插入图片描述
编译成功。
在这里插入图片描述
烧录程序也成功。

vscode_28">三、vscode


vscode_30">3.1、安装vscode插件

在这里插入图片描述
如上图所示,安装两个重要的插件。
在这里插入图片描述
安装完插件后,进入EIDE插件,如上图所示。

3.2、EIDE环境配置

3.2.1、安装实用工具

在这里插入图片描述
如上所示,安装built-in里的软件。
在这里插入图片描述
如上图所示,external只安装两个软件。

3.3、打开插件配置

在这里插入图片描述
如上所示,告诉EIDE,Keil的编译器所在位置。另外,记得勾选Axf To Elf,否则没办法烧录程序。我之前漏了这里,折腾了很久很久。

3.4、导入Keil项目

在这里插入图片描述
在这里插入图片描述
如上所示,进行Keil项目导入。
在这里插入图片描述
选择Yes,将EIDE的项目跟Keil项目放在一起,方便后续分别打开EIDE项目或者Keil项目。
在这里插入图片描述
如上所示,刚才在Keil编写的代码还在。
在这里插入图片描述
尝试一下编译,编译成功并且生成hex、s19、bin文件。此时,还不能下载程序到开发板!!

3.5、构建配置

在这里插入图片描述
在这里插入图片描述
如上图所示,构建配置里的构建器选项,跟Keil软件的魔术棒里的配置一样,真的是从Keil导入进来的!!!!

3.6、烧录配置(下载程序)

3.6.1、J-LINK

在这里插入图片描述
在这里插入图片描述

3.6.2、ST-LINKv2

方法一:
在这里插入图片描述
如上所示,ST-LINK下载程序ok,ST-LINK不需要关心芯片的信号。

方法二(OpenOCD):
在这里插入图片描述

3.6.3、DAP-LINK

在这里插入图片描述


http://www.ppmy.cn/embedded/148119.html

相关文章

分布式系统架构:服务容错

1.为什么需要容错 分布式系统的本质是不可靠的,一个大的服务集群中,程序可能崩溃、节点可能宕机、网络可能中断,这些“意外情况”其实全部都在“意料之中”。故障的发生是必然的,所以需要设计一套健壮的容错机制来应对这些问题。 …

CSS系列(30)-- 逻辑属性详解

前端技术探索系列:CSS 逻辑属性详解 🌐 致读者:探索国际化布局的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS 逻辑属性,这个强大的国际化布局特性。 基础概念 🚀 逻辑属性映射 /* 物理…

MySQL 实战:小型项目中的数据库应用(一)

MySQL 简介与小型项目适配性分析 MySQL 是一个开源的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,现属于 Oracle 公司。它在 Web 应用方面被广泛使用,也是一种关联数据库管理系统,能将数据保存在不同的表中,以此增…

黑客术语3

19、免杀 : 就是通过加壳、加密、修改特征码、加花指令等等技术来修改程序, 使其逃过杀毒软件的查杀。 20 、加壳 : 就是利用特殊的算法,将 EXE 可执行程序或者 DLL 动态连接库文件的 编码进行改变(比如实现压缩、加密)&a…

UniApp 应用心得与总结(Android)

UniApp属于跨平台的应用开发框架,在实际的业务应用中给予了开发者友好的体验。其优点主要体现在完善的开发文档,强大的兼容性与参与人数众多丰富的社区资源。经过一段时间的业务运用与体验,我实现了从 零到一的 N 的运用与开发。这篇文章主要…

git退掉远程仓库里的某个修改和记录

文章目录 步骤 1: 找到目标提交的上一个提交步骤 2: 使用 git reset 回退本地分支步骤 3: 强制推送到远程仓库步骤 4: 验证注意事项 如果你想要撤销远程仓库的这次合并提交,并且删除记录,你可以按照以下步骤进行操作。注意,这个操作会修改历史…

深入理解 HTTP HEAD 请求:节省带宽、提高效率的秘密武器

序言: 在HTTP协议中,HEAD请求是一种非常实用且被忽略的请求方法。与GET请求相似,HEAD请求同样从服务器获取资源,但与GET请求的最大不同之处在与,HEAD请求 仅返回响应的头部信息,不包含内容提。这使得HEAD请…

uniapp使用腾讯地图接口的时候提示此key每秒请求量已达到上限或者提示此key每日调用量已达到上限问题解决

要在创建的key上添加配额 点击配额之后进入分配页面,分配完之后刷新uniapp就可以调用成功了。