От std к no_std
Мы успешно прошили и запустили нашу первую программу, которая создаёт эффект мигания. Однако код и структуру проекта мы пока подробно не разбирали. В этом разделе мы воссоздадим тот же проект с нуля. По ходу дела я объясню каждую часть кода и конфигурации. Готовы к испытанию?
Tip
Если эта глава кажется вам слишком сложной, особенно если вы занимаетесь просто хобби-проектом, смело пропустите её пока. Вернуться к ней можно позже, когда вы соберёте несколько интересных проектов и поработаете с упражнениями.
Создаём новый проект
Начнём с создания стандартного бинарного проекта на 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