序
因为笔者难以忍受Keil
的魔鬼 “智能” 补全,所以此篇应运而生,编写仓促,不免有误,请见谅 .
STM32CubeMX
官网下载地址:
STM32CubeMX
是 ST 公司开发的一款图形配置工具,可通过配置自动生成初始化代码,在生成的沙箱段中支持用户编写应用程序,用来搭建项目框架再合适不过了,支持EWARM、MDK-ARM、STM32CubeIDE、Makefile
等格式输出 .
Visual Studio Code(VSC)
如果已经使用STM32CubeMX
搭建了一个空的项目框架 (其实也不空),那么将在VSC
上编写我们的用户代码啦 .
同样VSC也可以在官网下载,但是很慢..,可以参考这位博主的下载教程 .
一些插件
与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)
官网链接:有使用教程和论坛
无敌!不多说好吧!无敌!向大佬致敬!
同样在EXTENSIONS
中搜索安装EIDE
.
EIDE的一些插件与配置
Setup Utility Tools
在EIDE
中选择左下区域的OPERATIONS
.
点击Setup Utility Tools
,安装相应的工具,图示是我目前下载的工具,以供参考 .
绑定编译器
还是回到齿轮
中的Setting
,搜索ARM
并在ARMCC5、ARMCC6、GCC
和ARM.INI
下方填入编译器及Keil MDK-ARM
的本地路径,将ARMCC
生成的.axf
文件转成.elf
文件 .
CubeMX + VSC 开发流程
如果上面有关EIDE
的配置内容笔者讲的不够具体或引起读者误解,可以参考b站up主threekb
的视频,当然最好解决和学习途径是EIDE
的官网 .
视频链接:
这段视频后半部分演示了如何导入现有的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
,导入Core
与Drivers
文件夹 .只导入文件也是可以的,但是不建议
5.项目配置
按照Makefile
中的信息配置编译器和烧录器选项,添加C
的宏定义 .
将链接文件名STM32xxxxxxx_FLASH.ld
复制到选项框 .
6.编译
- 中文路径会导致编译失败 .
编译成功后会显示内存资源占用、hex
和bin
文件输出路径 .
7.调试
https://marketplace.visualstudio.com/items/CL.eide/changelog
3.16.0
版本中删除了自动生成launch.json
调试配置的功能,取而代之的是菜单栏中的Generate Cortex-Debug Configuration