基于STM32的Rust编程基础课 第1课时:Rust简介与环境搭建

张开发
2026/4/16 18:29:45 15 分钟阅读

分享文章

基于STM32的Rust编程基础课 第1课时:Rust简介与环境搭建
第1课时Rust简介与环境搭建文章目录第1课时Rust简介与环境搭建一、课程目标二、课程重难点三、课程内容3.1 Rust简介3.1.1 Rust是什么3.1.2 Rust核心优势贴合嵌入式场景3.1.3 Rust在STM32中的应用场景3.2 Rust工具链安装3.2.1 准备工作3.2.2 执行安装命令3.2.3 安装过程配置3.2.4 环境生效与验证3.3 STM32 Rust开发环境适配3.3.1 安装嵌入式工具链组件3.3.2 调试环境配置3.4 实战演示运行第一个Rust程序四、课堂示例可直接复制运行示例1基础Hello World程序验证基础环境示例2验证嵌入式工具链STM32适配测试五、课后作业巩固练习六、课程总结七、课程关键词重点记忆本课时作为基于STM32的Rust编程基础的开篇核心围绕Rust简介与开发环境搭建展开为后续学习奠定基础。首先介绍了Rust语言的核心定位与优势明确其作为系统级语言凭借内存安全、无GC、零成本抽象等特性非常适配STM32嵌入式开发场景能有效解决传统C/C开发中的内存漏洞问题同时保留高性能适合工业控制、IoT等嵌入式应用。实操部分重点讲解了Rust官方工具链的全平台安装方法通过统一的官方脚本无需复杂配置即可完成rustup、rustc、cargo的安装同时详细说明环境生效的方法和验证步骤确保每个学员都能完成基础环境搭建。针对STM32嵌入式开发补充了交叉编译工具链和调试工具的安装适配Cortex-M3内核的STM32F103开发板讲解了ST-Link调试器的连接与验证方法完成嵌入式开发环境的适配。通过实战演示运行Hello World程序让学员直观感受Rust开发的便捷性同时布置课后作业巩固环境搭建的核心步骤培养问题排查能力。本课时的重点是掌握环境搭建的流程和验证方法难点在于Windows系统环境变量生效和调试工具的配置学员需重点关注安装过程中的提示信息及时解决遇到的问题。通过本课时的学习学员已具备Rust基础开发环境和STM32适配环境为后续Rust语法学习和STM32外设实操做好了充分准备。一、课程目标了解Rust语言的核心定位、优势及嵌入式应用场景明确学习意义掌握Rust官方工具链rustup、rustc、cargo的全平台安装方法完成STM32 Rust开发环境的适配工具补充、调试环境配置验证环境搭建成功运行第一个基础Rust程序建立学习信心二、课程重难点重点Rust工具链安装全平台通用、STM32开发环境适配难点Windows系统环境变量生效、STM32调试工具probe-rs配置三、课程内容3.1 Rust简介3.1.1 Rust是什么Rust是一门静态强类型、无GC垃圾回收、专注于内存安全、零成本抽象、无畏并发的系统级编程语言由Graydon Hoare于2006年发起后由Mozilla赞助2015年发布1.0稳定版目前由Rust基金会独立治理。核心设计目标解决C/C的内存安全问题如野指针、缓冲区溢出、数据竞争同时保留接近C/C的高性能无需GC即可实现内存安全适配嵌入式、系统开发、区块链等场景。3.1.2 Rust核心优势贴合嵌入式场景内存安全通过所有权、借用、生命周期三大机制编译期杜绝内存漏洞降低嵌入式设备死机、数据错乱风险零成本抽象高级语法编译后与底层代码性能一致不增加额外开销适配STM32等资源有限的嵌入式设备无GC编译期管理内存无运行时GC停顿适合硬实时、低功耗嵌入式场景如工业控制、IoT设备与C/C无缝互操作可增量替换STM32现有C/C代码无需推倒重来降低迁移成本工具链完善cargo包管理、probe-rs嵌入式调试、defmt嵌入式日志提升开发效率3.1.3 Rust在STM32中的应用场景工业控制STM32单片机的控制逻辑、外设驱动开发保证高稳定性和安全性IoT设备低功耗传感器节点、数据采集模块无GC特性适配长续航需求安全关键场景医疗设备、汽车电子如ECU编译期安全检查降低故障风险高性能场景STM32的高速外设控制、数据处理零成本抽象提升运行效率3.2 Rust工具链安装核心工具链组成rustup版本管理器、rustc编译器、cargo包管理器统一通过官方脚本安装避免手动配置环境变量的繁琐操作。3.2.1 准备工作Windows打开PowerShell管理员模式或普通模式均可确保网络通畅关闭杀毒软件避免拦截安装脚本macOS打开终端确保已安装Xcode Command Line Tools输入xcode-select --install可安装Linux打开终端确保已安装curl输入sudo apt install curl -yUbuntu/Debian系统3.2.2 执行安装命令⚠️ 注意不要手动下载安装包仅使用以下官方脚本自动适配系统并安装。WindowsPowerShell输入bitsadmin /transfer rustup-init https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe %temp%\rustup-init.exe %temp%\rustup-init.exemacOS / Linux终端输入curl--protohttps--tlsv1.2-sSfhttps://sh.rustup.rs|sh3.2.3 安装过程配置运行命令后终端会出现如下选项直接输入“1”并回车全程默认安装即可新手无需自定义配置1)Proceed with installation(default)2)Customize installation3)Cancel installation安装过程约3-5分钟取决于网络速度安装完成后会提示“Rust is installed now. Great!”。3.2.4 环境生效与验证环境生效安装完成后关闭当前终端重新打开一个新终端环境变量自动生效无需手动配置。可选手动生效macOS/Linux终端输入source $HOME/.cargo/envWindows无需手动操作重启PowerShell即可验证安装输入以下两条命令若能显示版本号说明Rust工具链安装成功版本号可能不同不影响使用rustc--versioncargo--version成功示例rustc1.94.0cargo1.94.03.3 STM32 Rust开发环境适配在基础Rust环境上补充嵌入式开发所需工具适配STM32单片机以STM32F103为例。3.3.1 安装嵌入式工具链组件终端输入以下命令安装STM32所需的交叉编译工具链和调试工具rustup targetaddthumbv7m-none-eabi# 适配STM32F103等Cortex-M3内核cargoinstallcargo-flash cargo-embed probe-rs-cli# 烧录、调试工具3.3.2 调试环境配置硬件准备STM32开发板如STM32F103C8T6、USB转串口模块、SWD调试器如ST-Link驱动安装Windows系统需安装ST-Link驱动可从ST官网下载macOS/Linux无需额外安装驱动验证调试工具将ST-Link连接开发板和电脑终端输入probe-rs list若能识别到调试器说明配置成功。3.4 实战演示运行第一个Rust程序通过简单程序验证环境为后续STM32开发铺垫。# 1. 创建基础Rust项目cargonew hello_rustcdhello_rust# 2. 运行程序cargorun运行成功后终端输出Hello, world!说明基础环境完全正常。四、课堂示例可直接复制运行示例1基础Hello World程序验证基础环境// src/main.rsfnmain(){// 打印基础信息适配终端输出println!(Hello, Rust!);println!(Rust工具链版本rustc 1.94.0);println!(准备开启STM32 Rust编程之旅);}运行命令cargo run查看终端输出结果。示例2验证嵌入式工具链STM32适配测试# 查看已安装的交叉编译目标rustup target list--installed# 验证probe-rs调试工具probe-rs list预期结果能看到thumbv7m-none-eabi和连接的ST-Link调试器。五、课后作业巩固练习完成全平台Rust工具链安装截图保存rustc --version和cargo --version的运行结果。安装STM32适配工具cross、cargo-flash、probe-rs截图保存probe-rs list的运行结果连接ST-Link。创建并运行示例1的Hello World程序修改打印内容为“STM32 Rust第1课时作业”截图保存运行结果。记录安装过程中遇到的问题如环境生效失败、调试器识别不到尝试自行排查并记录解决方法。六、课程总结核心知识点Rust语言定位、核心优势内存安全、无GC、零成本抽象STM32应用场景。实操重点Rust工具链安装全平台通用命令、环境生效验证、STM32嵌入式工具补充配置。关键结论Rust工具链是嵌入式开发的基础STM32适配需补充交叉编译和调试工具环境验证是后续实操的前提。七、课程关键词重点记忆Rust工具链、rustup、cargoSTM32 Rust适配、probe-rs交叉编译、调试环境Hello World、环境验证

更多文章