dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 510|回复: 20

嵌入式Rust编程指南(英文版)

[复制链接]
  • TA的每日心情

    2025-7-2 15:14
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    47

    主题

    59

    帖子

    271

    积分

    荣誉会员

    积分
    271

    发表于 2025-6-29 23:00:00 | 显示全部楼层 |阅读模式
    程序人生
    课程方向: Rust 
    课程类型: 汇编/嵌入式/物联网 

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    想学怎么用 Rust 来打造既安全又现代化的嵌入式系统吗?我们会带你从零开始,通过实际动手做项目、编写驱动、了解如何使用外部函数接口(FFI),还有掌握 Cortex-M 相关工具。一步步教你成为高手!

    您将会学到:
    从零开始学习 Rust 编程语言
    从零开始构建你的第一个裸机 Rust 应用程序
    学习如何为运行在 ARM Cortex-M 微控制器上的固件设置 Rust 工具链
    编写你自己的链接脚本和启动文件,并理解嵌入式 Rust 中的内存布局和启动过程
    使用 cargo-binutils 来检查和分析 ELF 文件
    使用 VS Code 设置现代高效的开发流程,用于构建、烧录和调试针对嵌入式目标的 Rust 代码
    使用和理解核心嵌入式 Rust 库
    在资源受限的环境中高效地记录和调试
    使用 cortex-m 和 cortex-m-rt 库与 ARM Cortex 外设(如 SysTick 和 ITM)进行实战操作
    Rust FFI:创建安全的 Rust API 以与现有的 C 库进行接口交互,使将 Rust 集成到现有的 C 基础代码库中更加容易
    学习如何在 Rust 和 C 之间安全地传递结构体、字符串和枚举,同时保持类型安全和控制
    将 Rust 函数暴露给 C 调用,使用 unsafe 和 FFI 概念来安全地管理跨语言互操作性
    逐步构建一个实际的 Flappy Bird 游戏应用使用 Rust
    使用 embedded-hal 特性构建硬件无关的驱动程序,使您的代码可以在多个微控制器平台上保持一致。
    使用真正的传感器(MPU6050)来控制游戏机制
    用整洁可维护的模块结构化您的代码
    使用 STM32 HAL 箱子轻松配置和控制您的微控制器外设,使用安全的 Rust 抽象
    编写通用嵌入式代码

    学习要求:
    本课程不需要任何先验的 Rust 编程经验,因为课程将从零开始教授
    任何微控制器的基本知识
    任何编程语言的基本知识
    如果您想在嵌入式目标上运行代码,需要列出的硬件和组件

    课程描述:
    想要在您的工具箱中添加另一种嵌入式语言吗?试试 Rust 吧——您不会失望的!
    本课程是您开始使用 Rust 在微控制器上进行编程的起点,即使您对嵌入式系统一无所知。
    我们将从了解微控制器的工作原理到用 Rust 编程,一步步带你掌握基础知识。无论你是否熟悉 C/C++,或者刚刚接触微控制器,这门课程都将使你能够轻松地进行嵌入式 Rust 开发。
    为什么选择 Rust 用于嵌入式开发?
    Rust 通过以下方式防止许多常见的内存问题(如空指针解引用、缓冲区溢出和使用后释放错误):
    所有权模型:Rust 的严格所有权、借用和生命周期规则防止了大多数意外的内存误用。
    类型安全性 :Rust 的类型系统确保你正确地访问数据,并通过强制执行严格的变量使用模式来防止某些类型的无效内存访问。
    谢谢 Cargo,Rust 的官方包管理器,你可以通过简单地包含外部库或“crate”,就像插拔组件一样,轻松地添加功能。

    你会学到什么?
    在这门课程中,你将掌握以下内容:
    为嵌入式系统初学者准备的 Rust 入门介绍
    完整的工具链设置,用于跨编译、烧录和调试
    使用 defmt 和 probe-rs 进行实时跟踪的调试和日志记录
    使用 STM32 HAL crate 进行高级外设编程
    逐步构建一个真实的 Flappy Bird 游戏应用程序,使用 Rust
    使用真实的传感器(MPU6050)来控制游戏机制
    清晰、模块化的编码实践和硬件抽象
    使用 embedded-hal 特性构建硬件无关的驱动程序
    编写和理解你自己的链接脚本和启动代码
    使用 Rust 的泛型和特质构建通用的嵌入式代码
    通过 FFI 实现安全且无缝的 Rust + C 集成
    用 Rust 编写稳健、可重用且符合生产标准的嵌入式固件的信心

    硬件要求:
    注意: 如果您已经有微控制器开发板,我们建议继续使用它。本课程设计得非常全面,概念和步骤可以应用于大多数开发板,尽管可能需要一些小的调整。但如果您希望使用与讲师相同的开发板以获得更顺畅的体验,可以查看推荐的硬件
    1) 微控制器开发板
    选项-1. 基于 STM32F303 的开发板
    该课程主要使用了 Fastbit STM32 Nano 板 ,该板基于 STM32F303 微控制器和内置的 MPU6050 传感器。
    选项 2. 任何 STM32 微控制器板
    您可以使用任何带有 STM32 微控制器的开发板。课程内容设计得具有适应性,因此您可以使用手头的具体 STM32 板进行学习。
    2) SWD 基的调试器
    用于编程和调试 STM32 微控制器,需要一个基于 SWD(Serial Wire Debug)的调试器。此工具对于将程序加载到微控制器上以及实时调试您的项目都是必不可少的。
    3) LCD 扩展板
    在一个项目中,您需要一个 TFT LCD 模块进行实验。本课程使用的是基于 GC9A01 LCD 驱动的 Fastbit 1.28″ TFT LCD,具有 8 位并行接口。不过,您可以使用相同或兼容的模块。
    4) MPU6050 传感器

    软件需求:
    VS Code
    STM32CubeIDE

    此课程面向哪些人:
    寻求探索 Rust 作为 C/C++ 的替代品,或者与现有代码共存以进行微控制器编程的嵌入式开发人员
    想将 Rust 技能应用到低级、硬件相关的项目中并学习嵌入式编程的 Rust 爱好者。
    勇于从零开始构建嵌入式系统的初学者
    想要再掌握一门嵌入式语言吗?试试 Rust,你不会失望的


    下载地址:

    游客,如果您要查看本帖隐藏内容请回复
    温馨提示:
    1、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
    2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
    3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
    4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
    5、若发现链接失效了请联系管理员,管理员会在2小时内修复
    6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    15 小时前
  • 签到天数: 1825 天

    [LV.Master]伴坛终老

    1

    主题

    4602

    帖子

    1万

    积分

    超凡入圣

    Rank: 10Rank: 10Rank: 10

    积分
    14014

    发表于 2025-6-30 02:33:03 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 652 天

    [LV.9]以坛为家II

    4

    主题

    4807

    帖子

    1万

    积分

    超凡入圣

    Rank: 10Rank: 10Rank: 10

    积分
    11698

    发表于 2025-6-30 08:25:35 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    3 天前
  • 签到天数: 47 天

    [LV.5]常住居民I

    2

    主题

    113

    帖子

    428

    积分

    豁然贯通

    Rank: 4

    积分
    428

    发表于 2025-6-30 08:53:25 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    13 小时前
  • 签到天数: 42 天

    [LV.5]常住居民I

    1

    主题

    73

    帖子

    285

    积分

    豁然贯通

    Rank: 4

    积分
    285

    发表于 2025-6-30 10:19:39 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    3 天前
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    0

    主题

    68

    帖子

    267

    积分

    豁然贯通

    Rank: 4

    积分
    267

    发表于 2025-6-30 11:12:31 | 显示全部楼层

    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    12 小时前
  • 签到天数: 510 天

    [LV.9]以坛为家II

    1

    主题

    761

    帖子

    2988

    积分

    终身会员[B]

    积分
    2988

    发表于 2025-6-30 14:38:11 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 570 天

    [LV.9]以坛为家II

    3

    主题

    1205

    帖子

    4166

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    4166

    发表于 2025-6-30 15:02:47 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    14 小时前
  • 签到天数: 631 天

    [LV.9]以坛为家II

    15

    主题

    1271

    帖子

    4467

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    4467

    发表于 2025-6-30 15:40:34 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 23:11
  • 签到天数: 227 天

    [LV.7]常住居民III

    0

    主题

    1744

    帖子

    4612

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    4612

    发表于 2025-6-30 21:52:29 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2025-8-7 22:38 , Processed in 0.093914 second(s), 13 queries , Redis On.

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表