Ziel

Dieses Tutorial beschreibt die Einrichtung einer vollständigen Rust-Entwicklungsumgebung und erstellt ein erstes Hello-World-Projekt.

Am Ende sind folgende Fähigkeiten vorhanden:

  • Rust Compiler installieren

  • Cargo Build-System verwenden

  • Rust-Projekte erstellen

  • Anwendungen kompilieren und ausführen

  • Tests ausführen

  • Entwicklungsumgebung mit VS Code einrichten

Voraussetzungen

Unterstützte Betriebssysteme:

  • Linux

  • Windows 10/11

  • macOS

Empfohlen:

  • Git installiert

  • VS Code installiert

  • Kommandozeilenkenntnisse

Installation von Rust

Rust wird über das offizielle Tool rustup installiert.

Linux / macOS

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

Danach die Shell neu starten:

source "$HOME/.cargo/env"

Installation prüfen:

rustc --version
cargo --version

Beispiel:

rustc 1.88.0
cargo 1.88.0

Windows

Installer herunterladen:

Danach PowerShell öffnen:

rustc --version
cargo --version

Bei Windows wird zusätzlich benötigt:

  • Visual Studio Build Tools

  • MSVC C++ Compiler

  • Windows SDK

Installation über:

rustup default stable-x86_64-pc-windows-msvc

Rust Toolchain verwalten

Aktuelle Toolchain anzeigen:

rustup show

Stable-Version aktivieren:

rustup default stable

Updates installieren:

rustup update

Entwicklungswerkzeuge installieren

Empfohlene Komponenten:

rustup component add rustfmt
rustup component add clippy

Prüfen:

rustup component list --installed

VS Code Einrichtung

Installiere folgende Extensions:

  • rust-analyzer

  • CodeLLDB

  • Even Better TOML

Empfohlene Einstellungen:

{
  "rust-analyzer.checkOnSave.command": "clippy",
  "editor.formatOnSave": true
}

Erstes Rust Projekt erstellen

Rust verwendet Cargo als Build-System und Package Manager.

Neues Projekt erzeugen:

cargo new hello_world

Projekt wechseln:

cd hello_world

Die Struktur:

hello_world
|
+-- Cargo.toml
|
+-- src
|
+-- main.rs

Cargo.toml

Die Datei beschreibt das Projekt:

[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"

# [dependencies]

Hello World Implementierung

Datei: src/main.rs

Inhalt:

fn main() {
    println!("Hello, Rust!");
}

Programm bauen

Debug Build:

cargo build

Das erzeugte Binary liegt unter target/debug/hello_world.

Programm starten

Direkt mit Cargo:

cargo run

Ausgabe:

Hello, Rust!

Release Build

Für optimierte Builds:

cargo build --release

Das erzeugte Binary liegt unter target/release/hello_world.

Release Builds enthalten:

  • Optimierungen

  • kleinere Laufzeit

  • bessere Performance

Rust Formatierung

Automatische Formatierung:

cargo fmt

Beispiel:

fn main() {
    println!("Hello, Rust!");
}

Code Analyse mit Clippy

Clippy findet typische Fehler:

cargo clippy

Beispiel:

warning: this expression borrows a value that is already borrowed

Unit Tests

Rust besitzt ein integriertes Testframework.

Beispiel:

#[cfg(test)]
mod tests {
    #[test]
    fn hello_test() {
        assert_eq!(2 + 2, 4);
    }
}

Tests starten:

cargo test

Ausgabe:

test result: ok

Abhängigkeiten hinzufügen

Beispiel:

Cargo.toml

[dependencies]
serde = "1.0"

Danach:

cargo build

Cargo lädt automatisch:

  • Crates

  • Versionen

  • Abhängigkeiten

Cross Compilation Grundlagen

Installierte Targets anzeigen:

rustup target list

Beispiel ARM64:

rustup target add aarch64-unknown-linux-gnu

Build:

cargo build --target aarch64-unknown-linux-gnu

Typische Embedded Targets:

thumbv7em-none-eabihf
thumbv8m.main-none-eabihf
riscv32imac-unknown-none-elf

Embedded Rust Vorbereitung

Zusätzliche Tools:

cargo install cargo-embed
cargo install cargo-binutils

ARM Toolchain:

rustup target add thumbv7em-none-eabihf

Beispielplattformen:

  • STM32

  • nRF52

  • ESP32

  • RP2040

Debugging

Mit GDB:

rust-gdb target/debug/hello_world

VS Code verwendet:

  • CodeLLDB

  • OpenOCD

  • J-Link

Typischer Entwicklungsworkflow

Code ändern
|
cargo fmt
|
cargo clippy
|
cargo test
|
cargo build --release

Zusammenfassung

Nach diesem Tutorial steht eine vollständige Rust Entwicklungsumgebung bereit.

Wichtige Befehle:

BefehlBeschreibung

cargo new

Projekt erstellen

cargo build

Kompilieren

cargo run

Starten

cargo test

Tests ausführen

cargo fmt

Formatieren

cargo clippy

Code Analyse

rustup update

Toolchain aktualisieren

Nächste Schritte

Für Embedded Systems Entwickler:

  • no_std Rust

  • HAL Libraries

  • Device Crates

  • Embedded Trait Architecture

  • Rust Treiberentwicklung

  • Rust AUTOSAR-nahe Abstraktionsschichten