基于VSCode搭建ARMGCC开发环境¶
本篇应用笔记旨在为使用 MM32 MCU 的开发者提供一份基于 ARMGCC 工具链下的开发环境搭建指南,以帮助用户快速上手在 ARMGCC 工具链下的 MM32 MCU 的项目代码编译、下载和调试工作。
简介¶
本文将从软件和硬件的基本介绍开始,逐步引导用户完成开发环境的搭建,包括 VSCode 的安装与配置、ARMGCC 工具链的集成、J-Link 调试器的安装与设置,以及 VSCode 扩展插件的安装。随后,文档将详细讲解如何配置 EIDE 工程,包括工具链路径、J-Link 路径的设置,以及如何利用远程仓库模板快速创建项目。最后,本文档将指导用户进行板载调试的配置,包括芯片支持包的添加、GDB 与 GDBServer 的配置、启动文件的设置,以及调试的启动与执行。
软件介绍¶
代码编辑器 —— Visual Studio Code
(Version: 1.90.2 或以上) 下载链接:https://code.visualstudio.com/
VSCode 是由微软开发的跨平台免费开源的代码编辑器,支持语法高亮、代码自动补全 (IntelliSense)、代码重构、查看定义等功能,并内置命令行工具和 Git 版本控制系统。用户可通过更改主题和键盘快捷方式实现个性化设置,也可通过扩展程序商店安装扩展以拓展功能。
编译工具链 —— arm-none-eabi-gcc
(Version: 10.3 release或以上) 下载链接:https://developer.arm.com/downloads/-/gnu-rm
GNU Arm Embedded Toolchain (GCC for ARM)基于开源协议免费使用,是众多开发者首选的编译工具链之一。
调试烧录工具软件 —— JLink
(JLink_V7.92j 或以上) 下载链接:https://www.segger.com/downloads/jlink
J-Link 是一种由 SEGGER 公司开发的调试器,它广泛应用于嵌入式系统的开发和调试,特别适用于 ARM 架构的微控制器。
硬件介绍¶
开发板 —— Mini-F0163
本文使用灵动官方提供的开发板 Mini-F0163,详情见灵动官网:https://www.mindmotion.com.cn/support/development_tools/evaluation_boards/miniboard/mm32f0263d7p/
烧录工具 —— Jlink
Jlink 烧录器 V9.7 或以上皆可
开发环境搭建¶
下载并安装VSCode¶
下载并安装 VSCode,按照默认选项连续点击下一步安装即可。

下载并安装 ARMGCC 工具链¶
这里选择 gcc-arm-none-eabi-10.3-2021.10-win32.exe 下载并默认安装即可。

下载并安装J-link¶
下载 J-link 安装包,这里推荐安装最新版本的 J-link 安装包。

安装VSCode扩展插件¶
打开 VS Code 并在扩展中搜索 “Embedded IDE” 进行安装。

Embedded IDE 是一款一款适用于 8051/STM8/Cortex-M/MIPS/RISC-V 的单片机开发环境。
在 VSCode 上提供 8051,AVR,STM8,Cortex-M,MIPS MTI,RISC-V... 项目的开发,编译,烧录等功能,并支持多个平台:
- Windows x64 (>= Windows 10)
- Linux x64
- macOS(仅在 'macOS 10.15 x64' 中测试过)
在扩展中搜索 “Cortex-Debug” 进行安装。

Cortex-Debug 是一个专为 Visual Studio Code (VSCode) 设计的扩展插件,旨在提供对 ARM Cortex-M 和 Cortex-A 系列微控制器的高级调试支持,以下是 Cortex-Debug 的一些主要特点和功能:
- 高度可配置性:Cortex-Debug 支持多种配置,以适应不同的调试需求。
- 支持多种硬件调试器:支持 J-Link、ST-LINK、CMSIS-DAP 等硬件调试器。
- 调试会话:用户可以通过配置 launch.json 文件来启动对指定设备的调试会话。
- 多核调试:对于多核 MCU,支持同时调试多个核心,对同步问题的调试尤其有用。
- 断点和观察点:Cortex-Debug 提供了条件断点和表达式观察等功能,增强调试过程的效率。
- Live Watch:支持实时观察变量值的变化。
配置EIDE工程¶
配置ARMGCC工具链路径¶
在 VScode 安装完 EIDE( Embedded IDE) 扩展后,进行 gcc-arm-none-eabi 的安装路径配置,用于后续的代码编译。
首先在 VSCode 左侧栏点击 EIDE 扩展,并在左下“操作”栏下找到“设置工具链”鼠标左键单击并稍作等待,在出现的编译器类型中下滑选择 “GNU Arm Embedded Toolchain”。

在弹出的安装模式中选择 “Local” 进行配置已在本地安装的工具链路径。

找到前文提到的安装 gcc-arm-none-eabi 的路径,这里选择到带工具日期版本的文件夹即可。设置完成后,再次打开“设置工具链”,若看到 “GNU Arm Embedded Toolchain” 状态显示由 ‘x’ 变为 ‘✓’ 则表明 Arm GCC 工具链设置成功。
配置J-Link路径¶
点击 EIDE 扩展,找到“操作”栏下方的“打开插件设置”。
在右侧显示的扩展配置中找到 “EIDE.JLink: Install Directory”,在下方输入框中输入 Jlink 的安装路径。这里若采用了默认安装路径即为:“C:\Program Files\SEGGER\JLink”

完成上述配置后,建议关闭 VSCode 后再次重新打开,防止 EIDE 在使用 J-link 选择芯片类型时无法找到芯片。
使用远程仓库模板快速创建项目¶
上述环境搭建完成后,可通过使用远程仓库模板快速验证当前配置的环境是否正常。
在 EIDE 扩展插件下点击“新建项目”,在弹出的窗口中选择“从远程仓库获取”。

选择模板类别为 “Bare MCU”

选择 “MindMotion”

选择“MM32F”系列

选择 “MM32F016 Demo”

输入新建的项目名称,并按下键盘上“Enter”键进行确认

项目创建完成后,在界面右下角点击 “Yes” 切换工作区

切换工作区后的界面如下图所示:

选择 EIDE 扩展,会自动加载工作区下面的 EIDE 项目。

点击编译,进行代码编译,编译成功通过则可以在下方中断窗口中看到图中的编译信息:

在线板载调试¶
添加芯片支持包PACK¶
添加芯片支持包,用以在调试时便捷地查看该芯片的外设寄存器。MM32 的芯片支持包可从灵动官网中进行下载,这里可直接复用 Keil 的 PACK 包进行使用,下载解压后选择对应系列的芯片即可,下载链接如下:https://www.mindmotion.com.cn/support/software/keil_pack/
打开 EID E,点击 “+”,选择从本地安装

这里我们以 MM32F0160 为例选择 “MindMotion.MM32F0160_DFP.1.1.1.pack”进行安装。

安装后选择实际使用的芯片型号,这里我们使用的开发板 Mini-F0163 搭载的型号是 MM32F0163D7PV。
配置GDB与GDB Server路径¶
在扩展中找到 Cortex-Debug,点击扩展设置。在设置页面中找到 "cortex-debug.armToolchainPath" 和 “cortex-debug.JLinkGDBServerPath",并点击“在 settings.json 中编辑”。

打开 “setting.json” 文件后完成如下红框中的路径配置:

配置启动文件¶
启动调试器先确认在 ‘.vscode’ 工作区文件夹下是否包含了 ‘launch.json’ 文件,这是调试的启动配置文件,该启动配置文件中包含了要使用的调试器类型,调试接口以及调试文件等信息。
若该文件不存在请手动新建该文件,并根据下图的配置安装实际工程修改文件中的内容。

需要注意的是,这里的 “*.elf” 文件名需要根据命名的项目名称修改,并根据上文中实际的芯片支持包所在路径添加 SVD 文件路径。
启动调试¶
打开调试窗口,点击开始调试(或按下 F5 键)。

若正常启动可看到如下调试界面,此时便可进行设置断电、单步调试、查看变量等调试操作。
