广告

嵌入式Rust:Cortex-M QuickStart模板

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

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

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

嵌入式设备上的Rust资源

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

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

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

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

Cortex-M QuickStart模板简介

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

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

37nednc

 37nednc

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

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

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

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

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

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

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

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

cargo install cargo-generate37nednc

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

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

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

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

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

37nednc

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

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

下一步行动

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

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

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

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

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

相关阅读:

嵌入式Rust系列教程37nednc

责编:Ricardo
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
上一篇: 嵌入式Rust:学习工具链 下一篇: 返回列表
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 盘点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万。
  • 帕特·基辛格退休:工程师CEO的回归也救不回英特尔? 在执掌英特尔三年多之后,魅力十足、雄心勃勃的英特尔首席执行官Pat Gelsinger下台了,这家摇摇欲坠的美国半导体巨头开始寻找继任者···
  • 从碳化硅到机器人:ST描绘未来工业发展蓝图 意法半导体(ST)第六届工业峰会于2024年10月29日召开,延续以“激发智能,持续创新”为主题,聚焦工业市场前沿技术和解决方案。峰会演讲嘉宾深入探讨了电源与能源、电机控制、自动化等领域的技术发展趋势和ST的创新成果,为构建更可持续的未来描绘了宏伟蓝图···
  • 活动预告|第三届南渡江智慧医疗与康复产业高峰论坛即 第三届南渡江智慧医疗与康复产业高峰论坛将于2024年11月22日在海南省海口市召开。本届论坛由海南省工业和信息化厅、海南省商务厅、海口市人民政府、海南博鳌乐城国际医疗旅游先行区指导,海口市科学技术工业信息化局和芯原微电子(上海)股份有限公司主办,芯原微电子(海南)有限公司承办,将深度探讨数字疗法、脑机接口和康复机器人的发展现状和机遇,以期推动智慧医疗与康复,以及大健康产业的发展···
  • TPLD助力工程师在数分钟内完成分立式逻辑设计 通过将多达40个逻辑元件集成到单个芯片上,工程师可以大幅减小电路板尺寸。使用德州仪器的InterConnect Studio工具,工程师无需软件知识即可在数分钟内轻松设计、仿真和配置德州仪器的可编程逻辑器件。
  • 硬核科技,赋能未来:解码芯片产业创新趋势 在近日举办的E维智库第12届中国硬科技产业链创新趋势峰会暨百家媒体论坛上,邀请了来自艾迈斯欧司朗、Qorvo、RAMXEED(原富士通半导体)、飞凌微、安谋科技、清纯半导体等企业的多位行业专家,共同探讨芯片技术在各个领域的应用和发展方向···
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了