添加 VSCode ARM CortexM 开发.
Signed-off-by: rick.chan <cy187lion@sina.com>
|
@ -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 等。
|
|
@ -59,6 +59,9 @@
|
|||
55. Draw.io Integration (Henning Dieterichs)
|
||||
56. clangd (LLVM)
|
||||
57. Office Viewer(Markdown Editor) (Weijan Chen)
|
||||
58. Embedded IDE (CL)
|
||||
59. Cortex-Debug (marus25)
|
||||
60. RTOS Views (mcu-debug)
|
||||
|
||||
## Theme
|
||||
|
||||
|
|
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 12 KiB |