NotePublic/Software/Applications/VSCode/VSCode_ARM_插件及_CMSIS_Toolbox_的使用.md
rick.chan 4778bf78bd 增加 VSCode ARM 插件及 CMSIS Toolbox 的使用。
Signed-off-by: rick.chan <cy@haoan119.com>
2024-12-16 16:51:59 +08:00

4.5 KiB
Raw Blame History

VSCode ARM 插件及 CMSIS Toolbox 的使用

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,安装目录见 2.1. VSCode ARM 插件工具安装目录。安装完工具后将对应的 bin 目录加入系统 PATH。然后设置 pack 包下载链接和安装目录(默认安装 ROOT 目录在C:\Users\<User Name>\AppData\Local\Arm\Packs 下):

# 不需要额外指定 CMSIS Root 的可不用 --pack-root 参数。
cpackget init --pack-root /Path/to/CMSIS/Root/ https://www.keil.com/pack/index.pidx

安装必要的 pack 包:

# 从网络安装
cpackget add ARM::CMSIS
# 从本地安装
cpackget add ./NSING.N32L40x_DFP.1.0.2.pack

一些国产芯片的 pack 包不是很标准,容易安装不上,比如提示缺少 release tag 等,是因为 pack 包中的 pdsc 文件不够标准。可以以 zip 方式解压 pack 包后,参考 Open-CMSIS-Pack 来修改和补全 pdsc 信息。比如在 release 中增加 tag 信息:

  <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 的说明文档

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 包提示

如上图,删除 Project.cproject.yml 中的 Device:Startup

# 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 信息

3.1. 设备配置

VSCode 安装 Arm CMSIS 插件后也可是使用类似 Keil MDK 的设备配置向导。使用右键单击对应的设备配置文件,选择 “CMSlS Configuration wizard” 即可:

CMSlS Configuration wizard