增加 VSCode ARM 插件及 CMSIS Toolbox 的使用。

Signed-off-by: rick.chan <cy@haoan119.com>
This commit is contained in:
rick.chan 2024-12-16 16:51:59 +08:00
parent 4ee5b9bbc3
commit 4778bf78bd
4 changed files with 103 additions and 0 deletions

View File

@ -0,0 +1,103 @@
# VSCode ARM 插件及 CMSIS Toolbox 的使用
- [VSCode ARM 插件及 CMSIS Toolbox 的使用](#vscode-arm-插件及-cmsis-toolbox-的使用)
- [1. CMSIS Toolbox](#1-cmsis-toolbox)
- [1.1. 包管理器](#11-包管理器)
- [2. VSCode ARM 插件配置](#2-vscode-arm-插件配置)
- [2.1. VSCode ARM 插件工具安装目录](#21-vscode-arm-插件工具安装目录)
- [2.2. Amm Tools Environment](#22-amm-tools-environment)
- [3. 创建解决方案](#3-创建解决方案)
- [3.1. 设备配置](#31-设备配置)
VSCode ARM 插件主要包含:
- Arm Keil Studio Pack (MDK v6)
- Arm CMSIS Solution
- Arm Debugger
- Arm Device Manager
- Arm Tools Environment Manager
- Arm Virtual Hardware
## 1. CMSIS Toolbox
### 1.1. 包管理器
Arm CMSIS Solution 会自动安装 [CMSIS Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox),安装目录见 [2.1. VSCode ARM 插件工具安装目录](#21-vscode-arm-插件工具安装目录)。安装完工具后将对应的 bin 目录加入系统 PATH。然后设置 pack 包下载链接和安装目录(默认安装 ROOT 目录在C:\Users\\<User Name\>\AppData\Local\Arm\Packs
```bash
# 不需要额外指定 CMSIS Root 的可不用 --pack-root 参数。
cpackget init --pack-root /Path/to/CMSIS/Root/ https://www.keil.com/pack/index.pidx
```
安装必要的 pack 包:
```bash
# 从网络安装
cpackget add ARM::CMSIS
# 从本地安装
cpackget add ./NSING.N32L40x_DFP.1.0.2.pack
```
一些国产芯片的 pack 包不是很标准,容易安装不上,比如提示缺少 release tag 等,是因为 pack 包中的 pdsc 文件不够标准。可以以 zip 方式解压 pack 包后,参考 [Open-CMSIS-Pack](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/createPackPublish.html) 来修改和补全 pdsc 信息。比如在 release 中增加 tag 信息:
```xml
<releases>
<release version="1.0.0" tag="v1.0.0" date="2024-08-22" url="https://github.com/orgname/name1/releases/download/v1.0.0/orgname.name1.1.0.0.pack">Initial release</release>
</releases>
```
可使用 cpackget list 查看已安装 pack 包,或使用 cpackget rm 命令删除已安装包。
如果 pack 包无法下载安装,则可以到 <https://www.keil.arm.com/packs/> 进行检索并手动下载,然后在本地安装。
如果安装 pack 包时需要同意 license 则按 “a” 键即可。
下边使用 VSCode ARM 插件进行 Build但是这里先提供一份[使用 CMSIS Toolbox 命令 Build 的说明文档](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/build-overview.md#linker-script-management)。
## 2. VSCode ARM 插件配置
### 2.1. VSCode ARM 插件工具安装目录
VSCode ARM 插件下载和安装的工具包在 C:\Users\\<User Name\>\.vcpkg 目录下
### 2.2. Amm Tools Environment
使用 VSCode 的 “Arm Tools: Configure Amm Tools Environment” 配置 Arm CMSIS-Toolbox、Arm Compiler for Embedded、Arm Debugger、Arm MDK-Toolbox 或 GCC compiler for ARM CPUs 等信息(主要是配置版本,缺少组件时会自动安装)。
## 3. 创建解决方案
安装好后台工具和插件后,在 VSCode 中输入命令Ctrl+Shift+P“CMSIS: Create a Solution”然后根据提示设置 Target Board 或 Target Device输入项目及解决方案名称设定编译器。
Create 项目解决方案以后,在 VSCode 状态栏可能会出现红色错误提示:
![缺少必要 pack 包提示](./img/VSCode_ARM_插件及_CMSIS_Toolbox_的使用/001.png)
如上图,删除 Project.cproject.yml 中的 Device:Startup
```yml
# A project translates into one executable or library.
project:
groups:
- group: Source Files
files:
- file: ./main.c
# List components to use for your application.
# A software component is a re-usable unit that may be configurable.
components:
- component: ARM::CMSIS:CORE
- component: Device:Startup # <- 删除这一行
```
然后安装对应芯片的 pack 包(这里是 Keil.STM32H7xx_DFP.2.3.1.pack关闭解决方案后重新打开错误将消失。
此时使用 VSCode 的 “CMSlS: Manage software components” 能正确查看到 pack 包信息。
![查看 pack 信息](./img/VSCode_ARM_插件及_CMSIS_Toolbox_的使用/002.png)
### 3.1. 设备配置
VSCode 安装 Arm CMSIS 插件后也可是使用类似 Keil MDK 的设备配置向导。使用右键单击对应的设备配置文件,选择 “CMSlS Configuration wizard” 即可:
![CMSlS Configuration wizard](./img/VSCode_ARM_插件及_CMSIS_Toolbox_的使用/003.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB