|向Visual Studio Code导入ST项目

|向Visual Studio Code导入ST项目

文章图片

|向Visual Studio Code导入ST项目

文章图片

|向Visual Studio Code导入ST项目

文章图片

|向Visual Studio Code导入ST项目

文章图片


在ARM处理器的世界 , 有着很多的半导体厂家 , 其中最大之一是ST 。
ST拥有大量的产品型号 , 这些产品具有多种功能以及用于它们对应的开发板 。 ST自家也提供了一个开发环境STM32CubeIDE , 用来在ST设备上进行开发 。 另外他们也提供了一个配置工具STM32CubeMX , 它用于配置设备属性并生成项目的配置信息 。
如果你已经参与过基于ST的项目 , 我不会告诉你任何新内容 。 你可能不知道我们为在 Visual Studio Code 中启用嵌入式开发人员所做的工作 。这种嵌入式体验依赖于新的 vcpkg artifacts 特性来帮助获取工具链和配置开发环境 。 为了让使用ST设备的开发人员更轻松地使用Visual Studio Code , 我们一直在与 ST 合作以实现STM32CubeIDE 项目的导入 。
我们通过从ST项目生成CMake项目来实现这一点 。 ST在其产品组合中提供了许多示例项目 。我们已经使用这种机制在ST的示例项目中验证了构建 , 其中超过3000 个 。目前 , 我们的通过率达到了94% , 此外我们还在不断提高它 。这让我们相信 , 我们的方法将成功导入你自己的ST项目 。 我们的嵌入式工具扩展还支持通过导入器进行设备固件烧写和调试 , 但请注意 , 我们只在我们现有的测试硬件上验证了这一点 。
这篇文章将介绍这个项目导入器功能如何与vcpkg和ST的工具结合使用 。

在 Visual Studio Code 中开发ST项目本文假定你已经对ST设备 , 开发工具和嵌入式开发基础知识有所熟悉 。 如果你需要一些了解一些背景知识 , 可以阅读下面两篇Shawn Hymel写的两份入门文档 。
> Introduction to STM32CubeIDE
> Introduction to FreeRTOS
我们依靠 vcpkg 来管理 CMake 和 Ninja 等依赖项 , 包括获取它们并使它们可用于你的开发环境 。 你可以在我们的Visual Studio Code嵌入式开发概述中了解有关我们如何 vcpkg 的更多信息 , 使用如下命令来安装它 。
Linux/macOS系统
# . <(curl
https://aka.ms/vcpkg-init.sh -L)
PowerShell
# iex (iwr -useb https://aka.ms/vcpkg-init.ps1)
请注意 , 你需要在 Visual Studio Code 中安装嵌入式工具扩展版本 0.3.0 或更高版本才能使用 ST 项目导入器 。

我们的导入器要求你在平台的默认位置安装 STM32CubeIDE 软件 。我们一直在使用 STM32CubeIDE 1.9.0 和 STM32CubeMX 6.5.0 测试此功能 。如果你安装了多个实例 , 我们将无法控制选择哪个 。
另外 , 你还需要在 STM32CubeIDE 中为你的设备获取板级支持包 。这样我们就可以在 Visual Studio Code 中使用 ST 提供的编译器和支持应用程序 。
ST未来将提供重量更轻的封装 。 我们计划在这里也通过vcpkg来获取依赖项 。
安装了我们的先决条件后 , 从 Visual Studio Code 中的命令托盘 运行“从 ST 项目创建项目” 。

导航到你的 ST .cproject 所在的位置并选择它 。然后 , 你可以选择调试或发布配置 。现在可以选择 Build 以使用 CMake 编译设备的固件 。要调试 , 请选择调试视图 , 然后选择启动按钮 。这将运行 STM32 编程器将固件刷写到设备上并使用 GDB 进行连接 。从这里可以使用我们所有的嵌入式开发视图(串行、RTOS 和外围设备) 。