从 std 到 no_std

我们已经成功烧录并运行了第一个程序,它产生了一个闪烁效果。然而,我们还没有详细探索代码或项目结构。在本节中,我们将从头开始重新创建同一个项目。我将沿途解释代码和配置的每一部分。你准备好接受挑战了吗?

注意:如果你觉得这一章内容太多,特别是如果你只是在做一个业余项目,请随意跳过它。你可以在构建一些有趣的项目并完成练习后再回来阅读。

创建一个新项目

我们将从创建一个标准的 Rust 二进制项目开始。使用以下命令:

#![allow(unused)]
fn main() {
cargo new pico-from-scratch
}

在这个阶段,项目将包含预期的常规文件。

├── Cargo.toml
└── src
    └── main.rs

我们的目标是达到以下最终项目结构:

├── build.rs
├── .cargo
│   └── config.toml
├── Cargo.toml
├── memory.x
├── rp235x_riscv.x
├── src
│   └── main.rs