广告

嵌入式Rust:Cortex-M QuickStart模板

2025-01-27 09:22:19 Jacob Beningo 阅读:
我将在这篇文章中向您介绍Cortex-M QuickStart模板,它可以让您在设置嵌入式Rust项目时更加轻松···

学习嵌入式Rust需要理解高级语言概念和与硬件交互的低级细节。我建议从阅读《Rust编程语言》一书开始。一旦理解了这些概念,再深入学习嵌入式方面的知识就容易多了。jVRednc

不过,在本系列文章中,我们不会采用这种方法。当然,我假设您会阅读这些材料,但我知道其实您已经迫不及待地想使用Rust在开发板上点亮LED了。我们将从底层(硅片)开始研究Rust,从如何启动和运行项目开始。为此,我将在这篇文章中向您介绍Cortex-M QuickStart模板,它可以让您在设置嵌入式Rust项目时更加轻松。jVRednc

嵌入式设备上的Rust资源

在我们开始使用Cortex-M QuickStart模板创建嵌入式Rust项目之前,了解在哪里可以找到有关嵌入式Rust的资源非常重要。我们将要使用的QuickStart模板由嵌入式设备Rust工作组提供。如果你查看一下他们的GitHub页面,就会发现这里有大量资源,例如:jVRednc

  • Cortex-M QuickStart模板
  • svd2rust工具(将svd文件转换为内存映射库)
  • embedded-hal
  • 无堆示例
  • 书籍和其他资源集

他们目前有超过50个资源库,旨在帮助开发人员快速掌握Rust。虽然并不完美,但它们可以帮助您立即开始工作。jVRednc

这篇文章中我们主要研究的资源是Cortex-M QuickStart模板jVRednc

Cortex-M QuickStart模板简介

Cortex-M QuickStart模板是为使用STM32F3 Discovery开发板的Arm Cortex-M处理器设计的嵌入式Rust项目的示例。在所有项目中,都必须遵循几个步骤才能完成设置,不过该模板会为您处理大部分步骤。让我们来看看模板已经为您管理的一些关键任务。jVRednc

首先,您将获得一个项目结构,该结构非常简单,但会将配置、示例和应用分开。下面是为blinky应用设置的项目结构:jVRednc

jVRednc

 jVRednc

接下来,模板设置了启动所需的所有依赖项和工具链。Cargo.toml文件已预先配置为支持常见的crate,如cortex-m、cortex-m-rt和panic-halt。我们将在以后的文章中更详细地探讨这一点。jVRednc

接下来,项目已经配置好了编译和调试。配置文件允许您选择要编译的Arm架构,以及它是针对目标还是QEMU仿真。jVRednc

如果仔细查看目录结构,您还会看到openocd的配置。可以自定义VS Code的预配置启动文件以使用SEGGER J-Link、STLink或您感兴趣的任何调试服务器。jVRednc

最后,还有示例应用程序。默认的main.rs只是为了说“Hello World!”。不过,还有一个示例文件夹,该文件夹包含用于测试常见嵌入式需求的其他应用,例如:jVRednc

  • 分配内存
  • 启用中断
  • 处理异常
  • 使用ITM
  • 测试Rust panic选项

现在,您对模板提供的功能有了一定的了解,让我们看看如何利用此模板快速启动并运行应用。jVRednc

使用Cortex-M QuickStart模板创建项目

使用快速启动模板创建嵌入式Rust项目非常简单。首先,您必须确保已安装生成工具。Generate是一种实用程序,用于从现有模板快速创建新的Rust项目,它允许开发人员使用包含样板代码和项目结构的预定义模板,从而简化了启动新项目的过程。可使用以下命令从终端安装它:jVRednc

cargo install cargo-generatejVRednc

安装该工具后,您可以通过执行以下命令创建一个新的嵌入式Rust应用:jVRednc

cargo generate --git https://github.com/rust-embedded/cortex-m-quickstartjVRednc

我们使用generate关键字调用Cargo、Rust包管理器和编译系统。然后我们告诉Cargo我们想要从Git代码库创建一个应用,并提供代码库URL,即Cortex-M QuickStart代码库。jVRednc

运行命令后,系统会提示您输入一些有关项目的信息。最基本的信息是决定项目的名称。如果您想探索模板项目,它是为STM32F3 Discovery开发板设置的,您可以将项目命名为stm32f3_blinky。jVRednc

我将向您展示一个使用名为stm32u575_blinky的STM32U575 Nucleo开发板的示例。调用生成命令并提供我的项目名称后,我得到如下所示的输出:jVRednc

jVRednc

它从模板创建了几个文件,这些文件就是我们在上一节讨论过的文件。jVRednc

您可以运行cargo build,然后运行​​cargo run来执行默认应用,或者您也可以只使用cargo run,它将编译并运行该应用。jVRednc

下一步行动

Cortex-M QuickStart模板是启动和运行嵌入式项目的简便方法。但请记住,默认情况下它是为STM32F3 Discovery开发板设置的。在今天的文章中,我们讨论了模板以及如何使用Cargo Generate在其基础上创建新项目。jVRednc

你可以按照以下几个步骤继续你的嵌入式Rust之旅:jVRednc

  • 找到你想要创建项目的开发板
  • 使用cargo generate和Cortex-M QuickStart模板创建一个新项目
  • 探索模板项目

在下一篇文章中,我们将深入探讨如何修改我们可能感兴趣的所有微控制器的默认项目。这将涉及修改目标架构的配置文件和修改链接器文件。jVRednc

(原文刊登于EDN姊妹网站Embedded,参考链接:Embedded Rust: The Cortex-M QuickStart Template,由Ricardo Xie编译。)jVRednc

相关阅读:

嵌入式Rust系列教程jVRednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 台积电2nm工艺即将量产,苹果A20芯片可能才会上? 去年12月,台积电在IEEE国际电子元件会议(IEDM)上正式推出了2nm工艺,如今有消息称,台积电已经顺利完成了2nm试产阶段,将在2025年下半年正式进入全面量产阶段···
  • “无声惊雷”:中国电磁枪如何实现科幻想象? 近日,央视军事频道发布视频,展示了中国兵器装备建设工业自主研制的最新一代电磁枪···
  • 2025年及未来半导体行业的八大趋势 从近期的历史来看,未来一年及以后,科技领域将取得一些惊人的进步,变革的步伐将继续加快···
  • 中国量子计算新突破:"祖冲之三号"当前全球最强? 中国科学技术大学宣布,中国自主超导量子计算原型机"祖冲之三号"成功问世。据介绍,该设备在此前66量子比特的祖冲之二号的基础上进行了重大升级,《物理评论快报》审稿人认为这一工作“构建了目前最高水准的超导量子计算机”···
  • 用50美元就可以复现DeepSeek R1?怎么做到的? 据报道,李飞飞等斯坦福大学和华盛顿大学的研究人员以不到50美元的云计算费用,成功训练出了一个名为s1的人工智能推理模型。该模型在数学和编码能力测试中的表现,据称与OpenAI的O1和DeepSeek的R1等尖端推理模型不相上下。
  • 盘点CES 2025上基于Arm架构的AI创新和技术亮点 近期在美国拉斯维加斯举行的 CES 2025 再次彰显了其作为展示最新科技创新的重要平台。今年展会上所呈现的众多前沿产品和新的发布将推动各个行业的变革与发展···
  • 芯耀辉:从传统IP到IP2.0,AI时代国产IP机遇与挑战齐飞 2024年,集成电路行业在变革与机遇中持续发展。面对全球经济的新常态、技术创新的加速以及市场需求的不断变化,集成电路企业如何在新的一年里保持竞争力并实现可持续发展?
  • Arm 技术预测:2025 年及未来的技术趋势 Arm 对 2025 年及未来的技术发展做出了预测,范围涵盖技术的各个方面,从 AI 的未来发展到芯片设计,再到不同技术市场的主要趋势···
  • CES 2025:Edge AI硬件加速再掀热潮 边缘计算/边缘人工智能(Edge AI)一直是热门话题,在CES 2025也不例外。然而,实现边缘计算/智能的底层硬件是什么?又是如何实现与应用的呢?
  • 下载|汽车动力与底盘MCU市场现状研究报告 本报告选择汽车动力(Powertrain)与底盘(Chassis)系统中的MCU做探讨,一方面是因为,就车规MCU的角度来看,这两个组成部分更为关键、复杂,对安全性要求更高,更具实现难度;另一方面,即便是传统汽车角度,动力与底盘系统的电子控制也更加由来已久和具代表性。
  • 2025值得关注的八大前沿技术 2024年临近尾声,在这一年又有哪些技术得到了突破?这些技术又将如何影响我们的生活?EDN分析师团队将继续从行业背景、技术思路和未来应用三个层面出发,为读者朋友们献上2025年最值得关注的前沿技术!
  • 莱迪思聚焦低功耗中小型FPGA创新,并计划发展大规模FPGA 在最新的开发者大会上,莱迪思展示了其FPGA产品在广泛市场中的应用及未来发展的宏伟蓝图。据莱迪思亚太地区应用工程高级总监谢征帆介绍,随着莱迪思FPGA技术的广泛应用和产品差异化的推进,全球已有超过1万客户选择使用莱迪思的FPGA产品,部署的许可证数量也已超过3.5万。
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了