IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 向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的工具结合使用。

>> 请移步topomel查看图片

在 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 项目导入器。

>> 请移步topomel查看图片

我们的导入器要求你在平台的默认位置安装 STM32CubeIDE 软件。 我们一直在使用 STM32CubeIDE 1.9.0 和 STM32CubeMX 6.5.0 测试此功能。 如果你安装了多个实例,我们将无法控制选择哪个。

另外,你还需要在 STM32CubeIDE 中为你的设备获取板级支持包。 这样我们就可以在 Visual Studio Code 中使用 ST 提供的编译器和支持应用程序。

ST未来将提供重量更轻的封装。我们计划在这里也通过vcpkg来获取依赖项。
安装了我们的先决条件后,从 Visual Studio Code 中的命令托盘 运行“从 ST 项目创建项目”。

>> 请移步topomel查看图片

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

>> 请移步topomel查看图片

如果你的项目有一个.ioc文件,可以打开上下文菜单并为你的项目打开 STM32CubeMX。

>> 请移步topomel查看图片

如果你在STM32CubeMX中对项目进行更改,它们将被识别并且CMake缓存将重新生成。

在为你的项目的下一个会话关闭 Visual Studio Code 后,你将需要从激活 vcpkg 的提示符启动 Visual Studio Code。 为此,请在 shell 中导航到包含 vcpkg-configuration.json 的项目文件夹,运行 vcpkg activate,然后运行 code 。

在未来的版本中,这将不再需要,激活将自动发生。

了解 CMake 交互

可以看到在.cproject所在项目的根目录下生成的简单CMakeLists.txt。 这依赖于 cmake 目录下生成的 CMake 文件。 这些文件中有一些路径设置为你机器上ST编译器的发现位置。 如果你打算从 ST 项目格式迁移到 CMake,我们建议你根据需要调整这些文件,特别是在路径可能不同的团队中使用。

另一件需要注意的是,有时在STM32CubeIDE示例中,项目可能位于源代码的子目录中。 如果你没有在文件视图中看到项目文件,这可能就是原因。 选择 CMake 目标视图,你应该会看到 CMake 用于生成构建的所有内容。

根据上述观点,我们建议在使用 STM32CubeMX 生成项目时,在项目管理器中为“Generate Under Root”保留默认选项。 这会将你的.cproject保存在包含生成的源文件的文件夹的根目录中。 这也是 STM32CubeIDE 默认生成项目的方式。

如果再次在 STM32CubeIDE 中打开项目,则需要从项目中排除 CMake 使用的构建目录。 右键单击构建目录并选择资源配置 > 从构建中排除。

>> 请移步topomel查看图片

然后在“从构建中排除”对话框中选择“调试”和“发布”。

>> 请移步topomel查看图片

总结

又想起了我在大厂使用Keil C写STM32代码控制小车的峥嵘岁月了。
害!往事真是不堪回首。
还是不细说了吧。

最后

Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《Importing ST projects into Visual Studio Code》

?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:38:54  更:2022-09-13 11:43:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:42:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码