写在前面

之前一直使用keil5开发STM32F103C8T6单片机,总是感觉keil5的界面太丑太复杂。后来在vscode中使用了意法半导体官方的STM32Cube for VSCode 插件,配置起来了却不太会使用HAL库,前几天STM32Cube插件更新,配置方法有所简化,然而官网似乎出现问题,下载不了STM32CubeMX等一系列软件,遂放弃使用这个方法。

于是选择使用VSCode的Embedded IDE插件,仍然使用标准库开发。下面详细给出配置Embedded IDE的方法。

下载安装KEIL5

“我们的目的是什么?”

“脱离KEIL5!”

“我们首先做什么?”

“下载KEIL5!”

“。。。”

是的,我们需要KEIL5的工具链来配置EIDE,这很方便。

KEIL5 MDK官网下载地址:Keil Product Downloads

选择MDK-ARM下载软件,进行安装,请务必记得记住Core和Pack的路径,下面会用。

比如我是这么设置的⬆️。

等待安装结束即可。

下载Embedded IDE插件

打开VSCode,在Extensions里面搜索Embedded IDE,选择第一个,install。

之后侧边栏会出现一个芯片图标,点击芯片图标,保持网络连接,插件将启动并开始初始化。插件将自动下载并安装eide-binaries和.NET6 X64运行时。安装成功后,重启VSCode。

网络不好可能会下载失败,可以多试几次,尝试切换网络。

安装Embedded IDE成功后,可以看到这个界面。

EIDE配置工具链

现在,找到你安装KEIL5的Core目录,比如我是选择在D:\Program Files (x86)\Keil5\Core,这个在之前安装的时候记住的。

找到Core文件夹,进入ARM,进入ARMCLANG,至此,记住当前路径。比如我是这个

D:\Program Files (x86)\Keil5\Core\ARM\ARMCLANG

在EIDE插件的OPERATIONS选择Configure Toolchain

在跳出来的界面选择ARMCC V6

选择ARMCLANG文件夹

如果路径是有效的,再次点击Configure Toolchain,ARMCC V6右侧会有小勾而不是叉。

至此,完成工具链的配置。

新建工程

点击Create Project

你可以选择新建空项目,新建本地模板项目,导入原有项目,和从远程仓库新建项目。

建议选择第四个,从网络上下载,这里网络连接不太稳定,多尝试几次。

选择MCU。

选择意法半导体。

选择STM32,选择STM32F1,选择STM32F1xx SPL Demo(ARMCC),这是标准库,无系统开发。

ENTER确定。上面的步骤也可以根据你所使用的芯片和开发方式进行调整。

右下角会显示

点击YES,在新窗口打开。

至此,工程新建完毕。

配置工程选项

配置芯片包支持

首先在官网下载芯片包,官网地址:Arm Keil | Keil STM32F1xx_DFP

在Chip Support Package右侧点击绿色加号。

选择From Disk

选择你下载的芯片包,即.pack文件,安装。

设置构建器

点击Builder Configuration右侧的切换按钮(默认应该是AC5)。

切换到AC6。

至此,配置工程选项完成,我们来尝试构建一下。

尝试构建工程

在Explorer中找到main.c文件。

点击右上角的Build按钮。

提示构建成功。

在这个地方我曾遇到报错。

如果是提示LTO is disallowed,点击Builder Options

取消Link Time Optimization(LTO),然后右上角Save all,就可以解决。

至此,我们已经完成了构建工程,得到了.hex文件,在build文件夹里。

你可以用这个.hex文件,使用串口来烧录到STM32,但我们马上会讲使用Embedded IDE通过STM32烧录。

烧录程序

在OPERATIONS中,点击Setup Utility Tools。

选择STM32 Cube Programmer CLI,会自动下载,网络不好可以多次尝试。

在EIDE PROJECTS中,点击Flasher Configurations右侧的切换按钮,选择STLink(如果你使用其他的调试器可以选择其他的)。

连接你的STlink到电脑,点击Program Flash按钮,烧录程序。

提示烧录成功。

让我们修改一下原来的程序来测试一下,原来LED灯闪烁的GPIO口是PA1,我们修改为PC13,使用小蓝板上自带的LED灯。

按照上述步骤构建,烧录。

可以看到,PC13进行有规律的闪烁。

至此,我们完成了VSCode上基于EmbeddedIDE的STM32标准库开发平台的构建。

写在后面

需要注意的是,Embedded IDE不具备调试功能,你可以借助其他插件实现调试功能。我之后会更新使用技巧,调试功能实现等内容。

我的嵌入式水平不高,但是我尽力将我搭建平台的细节都讲出来,如果有错误请指出,如果有疑问可以评论,希望能对你有所帮助。

现在,你可以愉快的进行开发了!不要像之前的我一样,搭建完平台就满心欢喜地结束了,多试着开发开发,你会有收获的。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐