LOADING

加载过慢请开启缓存 浏览器默认开启

Embedded IDE

2024/4/17 MCU

因为笔者难以忍受Keil的魔鬼 “智能” 补全,所以此篇应运而生,编写仓促,不免有误,请见谅 .

STM32CubeMX

官网下载地址:

https://www.st.com/zh/development-tools/stm32cubemx.html

STM32CubeMX是 ST 公司开发的一款图形配置工具,可通过配置自动生成初始化代码,在生成的沙箱段中支持用户编写应用程序,用来搭建项目框架再合适不过了,支持EWARM、MDK-ARM、STM32CubeIDE、Makefile等格式输出 .

Visual Studio Code(VSC)

如果已经使用STM32CubeMX搭建了一个空的项目框架 (其实也不空),那么将在VSC上编写我们的用户代码啦 .

同样VSC也可以在官网下载,但是很慢..,可以参考这位博主的下载教程 .

https://blog.csdn.net/leah126/article/details/131661331

一些插件

STM32CubeIDE、IAR、Clion、Keil这些集成开发环境IDE不同,VSC只是一个编辑器,但其丰富的插件使他 “无所不能” .
现在我就在VSC上写这篇Markdown .

C/C++

选中左侧导航栏的EXTENSIONS,搜索C/C++点击安装 .

选中左侧导航栏底部的Manage-齿轮点击Settings搜索IntelliSense,可以设置代码补全的使能与参数 .

Cortex-Debug

选中左侧导航栏的EXTENSIONS,搜索Cortex-Debug点击安装,用来调试Cortex-M内核的GDB插件

Embedded IDE(EIDE)

官网链接:有使用教程和论坛

https://em-ide.com/

无敌!不多说好吧!无敌!向大佬致敬!

同样在EXTENSIONS中搜索安装EIDE .

EIDE的一些插件与配置

Setup Utility Tools

EIDE中选择左下区域的OPERATIONS .

点击Setup Utility Tools,安装相应的工具,图示是我目前下载的工具,以供参考 .

绑定编译器

还是回到齿轮中的Setting,搜索ARM并在ARMCC5、ARMCC6、GCCARM.INI下方填入编译器及Keil MDK-ARM的本地路径,将ARMCC生成的.axf文件转成.elf文件 .

CubeMX + VSC 开发流程

如果上面有关EIDE的配置内容笔者讲的不够具体或引起读者误解,可以参考b站up主threekb的视频,当然最好解决和学习途径是EIDE的官网 .
视频链接:

https://www.bilibili.com/video/BV1nr4y1R7Jb/?share_source=copy_web&vd_source=1db224e93eb7d9db5b8f56dfae3e6630

这段视频后半部分演示了如何导入现有的MDK-ARM工程,并基于EIDE开发 . 当然空的工程也可以

对于正在开发或者移植的项目来说是顶好的消息,那对于一个全新的工程呢?当然不可能全新,也没有不可能

1.创建Makefile

Makefile文件用来自动化编译C/C++项目 .Makefile文件定义了一系列规则,指明了源文件的编译顺序、依赖关系、是否需要重新编译等 .

非常高兴的是STM32CubeMX可以生成Makefile文件,无需开发者编写 .

2.新建EIDE工程

选中左侧导航栏的EIDE,点击创建新工程->空项目 .

笔者选用的芯片是STM32F407系列的,故选择Cortex-M Project .

需要仔细的是,此时的EIDE的新建工程名称应该与之前在STM32CubeMX设置的工程名称一致 .

不止于此,项目路径同样需要保持一致 .

因为之前通过STM32CubeMX创建了项目文件,这里EIDE会提示是否基于已有的路径创建工程文件 .

切换工作区 .

3.一些初始化设置

打开Makefile文件,并复制.Id文件的文件名称 .

4.添加Core与Drivers

在生成的EIDE工程界面中点击Project Resources,选择Normal Folder,导入CoreDrivers文件夹 .只导入文件也是可以的,但是不建议

5.项目配置

按照Makefile中的信息配置编译器和烧录器选项,添加C的宏定义 .

将链接文件名STM32xxxxxxx_FLASH.ld复制到选项框 .

6.编译

  • 中文路径会导致编译失败 .

编译成功后会显示内存资源占用、hexbin文件输出路径 .

7.调试

https://marketplace.visualstudio.com/items/CL.eide/changelog

  • 3.16.0版本中删除了自动生成launch.json调试配置的功能,取而代之的是菜单栏中的Generate Cortex-Debug Configuration