开源项目 `practice-mcu-bare-metal-rust` 常见问题解决方案

开源项目 practice-mcu-bare-metal-rust 常见问题解决方案

practice-mcu-bare-metal-rust A bare metal (register level) STM32F103C8T6/STM32F103 MCU program written in pure Rust without any IDE, SDK, HAL or library, and no assembly code, the only tool required is the Rust compiler. 项目地址: https://gitcode.com/gh_mirrors/pr/practice-mcu-bare-metal-rust

项目基础介绍

practice-mcu-bare-metal-rust 是一个使用纯 Rust 语言编写的裸金属(register level)STM32F103C8T6/STM32F103 微控制器程序。该项目不依赖任何 IDE、SDK、HAL 或库,也没有使用汇编代码,唯一的工具需求是 Rust 编译器。通过直接读写硬件寄存器,实现了基本的输入输出、定时器、串行通信等功能。

主要编程语言

该项目的主要编程语言是 Rust

新手使用项目时的注意事项及解决方案

1. Rust 环境未正确安装

问题描述:
新手在使用该项目时,可能会遇到 Rust 环境未正确安装的问题,导致无法编译项目。

解决步骤:

  1. 检查 Rust 是否已安装:
    在终端中运行以下命令,检查 Rust 是否已正确安装:

    rustc --version
    

    如果显示版本号,说明 Rust 已安装。如果没有显示,则需要安装 Rust。

  2. 安装 Rust:
    如果 Rust 未安装,可以通过以下命令安装:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

    安装完成后,重新启动终端并运行 rustc --version 确认安装成功。

  3. 安装必要的工具链:
    项目可能需要特定的 Rust 工具链,可以通过以下命令安装:

    rustup toolchain install nightly
    rustup default nightly
    

2. 编译脚本未正确运行

问题描述:
新手在运行编译脚本 build.sh 时,可能会遇到脚本未正确执行的问题。

解决步骤:

  1. 检查脚本权限:
    确保 build.sh 脚本具有执行权限,可以通过以下命令赋予权限:

    chmod +x build.sh
    
  2. 运行编译脚本:
    在终端中运行以下命令来编译项目:

    ./build.sh
    
  3. 检查错误信息:
    如果编译过程中出现错误,仔细阅读错误信息,通常错误信息会提示具体的解决方法。常见的错误可能是缺少某些依赖库或工具链版本不匹配。

3. 调试环境配置问题

问题描述:
新手在配置调试环境时,可能会遇到 GDB 调试器无法启动或配置文件不正确的问题。

解决步骤:

  1. 检查 GDB 是否已安装:
    在终端中运行以下命令,检查 GDB 是否已安装:

    gdb --version
    

    如果没有安装,可以通过包管理器安装 GDB。例如,在 Ubuntu 上可以使用以下命令:

    sudo apt-get install gdb
    
  2. 配置 VSCode 调试文件:
    项目中提供了 vscode/launch.json 文件,用于配置 VSCode 的调试环境。确保该文件中的路径和配置与本地环境一致。

  3. 启动 GDB 调试服务器:
    在终端中运行以下命令启动 GDB 调试服务器:

    ./start-gdb-server.sh
    
  4. 启动 GDB 客户端:
    在另一个终端中运行以下命令启动 GDB 客户端:

    ./start-gdb-client-with-svd.sh
    

通过以上步骤,新手可以顺利解决在使用 practice-mcu-bare-metal-rust 项目时遇到的常见问题。

practice-mcu-bare-metal-rust A bare metal (register level) STM32F103C8T6/STM32F103 MCU program written in pure Rust without any IDE, SDK, HAL or library, and no assembly code, the only tool required is the Rust compiler. 项目地址: https://gitcode.com/gh_mirrors/pr/practice-mcu-bare-metal-rust

作者:咎晓嘉Fenton

物联沃分享整理
物联沃-IOTWORD物联网 » 开源项目 `practice-mcu-bare-metal-rust` 常见问题解决方案

发表回复