您的位置:首页 > 科技 > IT业 > 一起看在线观看免费_网站建设广州公司_seo创业_百度搜索量怎么查

一起看在线观看免费_网站建设广州公司_seo创业_百度搜索量怎么查

2025/3/21 21:10:17 来源:https://blog.csdn.net/u014627020/article/details/146370699  浏览:    关键词:一起看在线观看免费_网站建设广州公司_seo创业_百度搜索量怎么查
一起看在线观看免费_网站建设广州公司_seo创业_百度搜索量怎么查

Rust嵌入式开发环境搭建指南(基于Stm32+Vscode)

部分目录如下所示:
在这里插入图片描述

目录

  • 简介
  • Rust开发环境安装
  • STM32开发工具链安装
  • VSCode环境配置
  • VSCode插件安装
  • 调试器配置
  • 项目创建与配置
  • 常见问题与解决方案

简介

本文档旨在指导开发者如何搭建基于Rust语言的STM32嵌入式开发环境。相比传统的C/C++开发方式,Rust提供了更强的内存安全保障和现代化的语言特性,非常适合嵌入式系统开发。本指南将详细介绍从环境搭建到项目配置的全过程,特别关注VSCode作为IDE的配置以及STLink和DAPLink调试器的使用。

Rust开发环境安装

1. 安装Rust工具链

作用:Rust工具链是进行Rust开发的基础环境,包含以下核心组件:

  • rustc:Rust编译器,负责将Rust代码编译成可执行文件或库
  • cargo:Rust的包管理器和构建系统,用于管理依赖、编译项目、运行测试等
  • rustup:Rust工具链管理器,用于安装和更新Rust组件,管理不同版本的Rust

使用rustup安装Rust工具链:

# Windows PowerShell
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# 或者直接下载rustup-init.exe安装(推荐)

安装过程中选择默认配置即可。安装完成后,可以通过以下命令验证安装:


#检查版本
rustc --version
cargo --version#升级到最新版本
rustup upgrade stable

2. 安装Rust嵌入式开发组件

作用:嵌入式开发需要特定的工具和目标支持,这些组件使Rust能够为ARM Cortex-M系列微控制器生成代码。

# 添加Rust交叉编译目标
rustup target add thumbv6m-none-eabi    # Cortex-M0和Cortex-M0+
rustup target add thumbv7m-none-eabi    # Cortex-M3
rustup target add thumbv7em-none-eabi   # Cortex-M4和Cortex-M7(无FPU)
rustup target add thumbv7em-none-eabihf # Cortex-M4F和Cortex-M7F(带FPU)# 安装cargo-binutils工具
cargo install cargo-binutils
rustup component add llvm-tools-preview# 安装cargo-embed工具(用于烧录和调试)
cargo install cargo-embed# 安装probe-rs工具(用于与调试器交互)
cargo install probe-rs --features cli

各组件作用

  • 交叉编译目标:根据STM32芯片的Cortex-M核心类型选择适当的目标,使Rust能够生成适合特定ARM架构的代码
  • cargo-binutils:提供二进制工具集,用于检查和操作编译后的二进制文件,如查看大小、反汇编等
  • llvm-tools-preview:提供LLVM工具链支持,cargo-binutils依赖此组件
  • cargo-embed:用于将编译好的程序烧录到目标设备,并提供RTT调试功能
  • probe-rs:现代化的调试器后端,支持多种调试探针(如STLink、DAPLink等),提供烧录和调试功能

解决rustup-init.exe下载安装缓慢和Cargo下载慢的问题

Rust官网:https://rustup.rs/ 打开这个链接下载。如下下载慢可以使用下面镜像。实际下载速度还可以。

1. rustup-init.exe下载缓慢

可以通过以下国内镜像站点直接下载rustup-init.exe:

  • 清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
  • 其他镜像等

下载完成后直接运行安装程序。

2.rustup-init.exe安装缓慢,永久设置国内镜像源(推荐)

为了避免每次都需要设置临时环境变量,建议将镜像源设置为系统环境变量,这样可以永久解决下载慢的问题。

方法一:通过Windows图形界面设置(推荐)

  1. 按下Win键 输入"编辑系统环境变量"

  2. 分别添加以下两个环境变量:

    • 变量名:RUSTUP_DIST_SERVER
    • 变量值:https://mirrors.aliyun.com/rustup
    • 变量名:RUSTUP_UPDATE_ROOT
      变量值:https://mirrors.aliyun.com/rustup/rustup

在这里插入图片描述

方法二:通过PowerShell命令行永久设置

以管理员身份运行PowerShell,然后执行以下命令:

# 设置系统环境变量(需要管理员权限)
[Environment]::SetEnvironmentVariable("RUSTUP_DIST_SERVER", "https://mirrors.aliyun.com/rustup", "Machine")
[Environment]::SetEnvironmentVariable("RUSTUP_UPDATE_ROOT", "https://mirrors.aliyun.com/rustup/rustup", "Machine")# 验证环境变量是否设置成功
[Environment]::GetEnvironmentVariable("RUSTUP_DIST_SERVER", "Machine")
[Environment]::GetEnvironmentVariable("RUSTUP_UPDATE_ROOT", "Machine")#删除系统环境变量 (需要管理员权限):
[Environment]::SetEnvironmentVariable("RUSTUP_DIST_SERVER", $null, "Machine")
[Environment]::SetEnvironmentVariable("RUSTUP_UPDATE_ROOT", $null, "Machine")

设置完成后,重新打开命令提示符或PowerShell窗口,然后执行Rust安装命令,,或者直接运行rustup-init.exe,下载速度将会显著提升:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
3. rustup-init.exe安装缓慢,使用国内镜像源(临时设置)

rustup-init.exe安装时会下载相关工具不使用镜像会很慢,在rustup-init.exe 程序文件夹下使用 PowerShell设置临时环境变量:

#使用 PowerShell设置临时环境变量
$env:RUSTUP_DIST_SERVER="https://mirrors.aliyun.com/rustup"
$env:RUSTUP_UPDATE_ROOT="https://mirrors.aliyun.com/rustup/rustup"

常用的国内Rust镜像源:

  • 阿里云镜像:https://mirrors.aliyun.com/rustup
  • 清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/rustup
  • 上海交通大学镜像:https://mirrors.sjtug.sjtu.edu.cn/rust-static
4. 配置Cargo国内镜像源

rustup-init.exe安装完成后,为了加速后续的包下载,建议配置Cargo使用国内镜像源。

Windows系统配置步骤

  1. 在用户目录下创建或编辑 .cargo 文件夹(通常位于 C:\Users\用户名\.cargo
  2. 在该文件夹中创建 config.toml(推荐)config(老版本) 文件(无扩展名或.toml扩展名均可,新版本Cargo需要.toml扩展名的文件)
  3. 添加以下配置内容(下面阿里云和清华验证了可用,也可以是其他的源):
# 阿里云镜像(推荐)
#[source.crates-io]
#replace-with = 'aliyun'#[source.aliyun]
#registry = "https://mirrors.aliyun.com/crates.io-index" #不可用# 如果上面的地址无效,可以尝试使用:
#registry = "sparse+https://mirrors.aliyun.com/crates.io-index/" #可用# 清华大学镜像(备选)
[source.crates-io]
replace-with = 'tuna' #可用
# 
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"  #可用
# 或推荐使用:
# registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/" #未验证# 上海交通大学镜像(备选)
# [source.crates-io]
# replace-with = 'sjtu' #未验证
# 
# [source.sjtu]
# registry = "https://mirrors.sjtug.sjtu.edu.cn/crates.io-index" #未验证
# 或推荐使用:
# registry = "sparse+https://mirrors.sjtug.sjtu.edu.cn/crates.io-index/"#未验证

通过命令行快速创建配置

# PowerShell创建配置目录和文件
mkdir -Force "$HOME\.cargo"
Set-Content -Path "$HOME\.cargo\config" -Value @"
[source.crates-io]
replace-with = 'aliyun'[source.aliyun]
registry = "https://mirrors.aliyun.com/crates.io-index"
# 或使用 sparse 协议(推荐)
# registry = "sparse+https://mirrors.aliyun.com/crates.io-index/"
"@

验证配置是否生效

配置完成后,可以通过以下命令测试下载速度是否提升:

# 尝试安装一个小型包测试下载速度
cargo install cargo-edit# 如果需要卸载cargo-edit,可以使用命令
cargo uninstall cargo-edit

如果下载速度明显提升,说明镜像配置已经生效。

#运行以下命令列出所有通过 cargo install 安装的工具及其版本:
cargo install --list#在输出列表中查找 cargo-edit 条目,例如:
cargo-edit v0.12.0:cargo-addcargo-rmcargo-upgrade

如下所示列出了cargo-edit的版本:

在这里插入图片描述

STM32开发工具链安装

1. 安装ARM GCC工具链

作用:ARM GCC工具链是用于ARM架构处理器的编译工具集,包含以下核心组件:

  • arm-none-eabi-gcc:针对ARM架构的C/C++编译器,用于将C/C++代码编译为ARM指令集
  • arm-none-eabi-ld:链接器,用于将多个目标文件链接成一个可执行文件
  • arm-none-eabi-as:汇编器,将汇编代码转换为机器码
  • arm-none-eabi-gdb:调试器,用于调试ARM目标设备上运行的程序
  • arm-none-eabi-objcopy:用于转换二进制格式,如将ELF文件转换为HEX或BIN格式

使用场景:虽然Rust有自己的编译器,但在嵌入式开发中,ARM GCC工具链仍然

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com