添加 VSCode ARM CortexM 开发.

Signed-off-by: rick.chan <cy187lion@sina.com>
This commit is contained in:
rick.chan 2023-11-13 16:51:59 +08:00
parent ea2958e4f8
commit 760dcc157e
11 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,75 @@
# VSCode ARM CortexM 开发
VSCode 的嵌入式开发插件具备了相当多的功能,这里主要使用 Embedded IDE这是一个支持 MCU 开发的工具,但不具备调试功能,为了调试 ARM Cortex-M MCUs可以配合安装 Cortex-Debug 插件。这两个插件直接在扩展商店进行搜索安装即可,下面主要介绍使用方法。
## 1. Embedded IDE
Embedded IDE 集成了 MCU 项目创建,固件和工具下载等功能。安装完毕后在 VSCode 图标面板中会出现 EIDE 图标EIDE 即 Embedded IDE 的缩写。
点击 EIDE 图标将出现“New Project”、“Open Project”、“Import Project”项目按钮以及“Configure Toolchain”、“Setup Utility Tools”、“Open plug-in Settings”选项菜单。
![EIDE](img/VSCode_ARM_CortexM_开发/001.png)
“New Project” 可用于创建新 MCU 工程“Import Project” 可以将 Keil、IAR 或 Eclipse 类 IDE如 STM32Cube IDE 工程导入到 EIDE 环境中。“New Project” 和 “Import Project” 都有很好的引导界面,使用起来很方便。
EIDE 会跟随 VSCode 的语言配置展示为英文或中文菜单,如果没有自动跟随,可以点击 “Open plug-in Settings” 后,在配置中切换 EIDE 界面语言。
这里我们假设已经创建或导入了一个 ARM Cortex M 工程,接下来看一下工程配置及开发工具链的安装。
### 1.1. 安装工具链
![工具和配置](img/VSCode_ARM_CortexM_开发/002.png)
在 EIDE 的“Builder Configurations”和“Flasher Configurations”下可以看到默认使用了 GCC 编译器和 JLink 调试器。如果你的系统中已经直接或间接的安装了这两个工具那可以到“Open plug-in Settings”下配置好相关工具的路径。
如果没有安装这两个工具则可以点击“Setu Utility Tools”进行安装
![安装工具](img/VSCode_ARM_CortexM_开发/003.png)
EDID 不支持工具卸载功能,实际上,这些工具默认下载并解压在 “${userRoot}/.eide/tools” 目录下(“${userRoot}”即当前的用户目录)。如果需要卸载,则直接到该目录下删除对应工具即可。
EDID 也支持使用 AC5、AC6、IAR 等编译器,以及 STLink、pyOCD 等下载器可以点击“Builder Configurations”和“Flasher Configurations”后面的切换按钮进行更换。
![工具切换](img/VSCode_ARM_CortexM_开发/004.png)
### 1.2. 项目配置
有了编译器和调试器工具就可以编译并下载程序。但是在此之前需要先进行项目配置除了配置编译器和下载器以外需要配置“Chip Support Package”、“Builder Configurations”、“Flasher Configurations”和“Project Attributes”。
如果某项目无法咱开,则点击项目后边的“+”号进行添加即可:
![添加配置](img/VSCode_ARM_CortexM_开发/005.png)
先添加一个“Chip Support Package”“From Repo”会从网络上自动下载相关 pack 包“From Disk”则可以选择硬盘上一个已经下载好的 pack 包。相关资源可能在 github 上,所以网络安装需要些特殊工具支持。如果失败,可以多尝试几次。
![添加STM32F103](img/VSCode_ARM_CortexM_开发/006.png)
继续点击加号添完成“Chip Support Package”和“Builder Configurations”、“Flasher Configurations”的添加。配置好“Chip Support Package”后会自动完成 Svd 的配置,有了 Svd 才可以调试外设。
GCC 需要配置“Linker Script File Path”这个是 LD 连接文件,该文件可以来自 STM32 Cube或者示例参考工程。如果是 Keil 的 ACx 编译器则可以使用默认连接脚本将“USe Custom Linker Script File”置为 false。IAR 编译器需要配置 icf 格式的连接文件。
![基本配置](img/VSCode_ARM_CortexM_开发/007.png)
“Flasher Configurations”以 OpenOCD 为例需要配置“Chip Config”和“Interface Config”所谓“Chip Config”即指芯片的配置“Interface Config” 指使用哪种调试器,这里使用的是 DAP 调试器,如果是 stlink 或 jlink 只要按需修改即可。
如果是导入的项目不添加“Chip Support Package”也可以正常编译和下载、调试只是调试时不支持查看外设寄存器。
“Project Attributes” 中可以配置 Include Path、Library Path 和 全局宏等。
![Project Attributes](img/VSCode_ARM_CortexM_开发/008.png)
其他项目一般会自动配置,如有差异则按需变更即可。
### 1.3. 编译和下载
安装好依赖工具并做好项目配置后就可以编译并下载程序,点击项目右侧的按钮即可:
![编译和下载](img/VSCode_ARM_CortexM_开发/009.png)
## 2. 调试
Embedded IDE 不具备调试功能,需要 Cortex-Debug 扩展插件。Cortex-Debug 可以与 EIDE 进行很好的配合,一般不需要进行额外的配置。当变更 EIDE 的“Flasher”后即会自动生成 VSCode 调试脚本。然后按 F5 进行调试即可。
Cortex-Debug 会自动安装 RTOS Views 以及其他一些依赖插件,如果提示自动安装,点击允许即可。
RTOS Views 支持 RTOS 调试功能,比如查看系统中的 Task 等。

View File

@ -59,6 +59,9 @@
55. Draw.io Integration (Henning Dieterichs) 55. Draw.io Integration (Henning Dieterichs)
56. clangd (LLVM) 56. clangd (LLVM)
57. Office Viewer(Markdown Editor) (Weijan Chen) 57. Office Viewer(Markdown Editor) (Weijan Chen)
58. Embedded IDE (CL)
59. Cortex-Debug (marus25)
60. RTOS Views (mcu-debug)
## Theme ## Theme

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB