# [Rust for Embedded Applications](https://learn.arm.com/install-guides/rust_embedded/)

## About this Install Guide

| Reading time: | 10 min |
|---------------|--------|
| Last updated: | 25 Aug 2026 |

| Author: | Ronan Synnott, Arm [LinkedIn](https://linkedin.com/in/ronansynnott) |
|----------|--------------------------------------------------------------------------|
| Official docs: | [View](https://docs.rust-embedded.org/) |

This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.

[Rust](https://www.rust-lang.org/) is an open source programming language.

This install guide is for developers using Rust for their embedded applications.

If you are using Rust to build Linux applications on an Arm Linux platform, see [Rust for Linux Applications](https://learn.arm.com/install-guides/rust/) instead.

This install guide describes a setup using an Ubuntu Linux host.

For a thorough review of all options, see [The Embedded Rust Book](https://docs.rust-embedded.org/book/).

## How do I install Rust for Embedded Applications?

### How do I download and install Rust?

Run the following command to download and install Rust:

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

Start a new shell or run the following command to continue:

```bash
source "$HOME/.cargo/env"
```

To confirm the installation is complete, run the following (`cargo` is the Rust package manager):

```bash
rustc --version
cargo version
```

The output is similar to:

```
__output__ rustc 1.98.0 (88d9e12ae 2026-08-18)
__output__ cargo 1.98.0 (797e8a9bc 2026-08-05)
```

### How do I add Arm cross-compilation support?

Add cross compilation support for the required Arm Architectures. For example, to add support for Armv7-M architecture, you can use:

```bash
rustup target add thumbv7m-none-eabi
```

For a full list of supported architectures, use:

```bash
rustup target list
```

### How do I install cargo-generate?

To generate a project from a template, you need `cargo-generate`. Install it with:

```bash
sudo apt install -y libssl-dev pkg-config build-essential
cargo install cargo-generate
```

### How do I install cargo-binutils? (optional)

Other utilities are also available. For completeness, install them with:

```bash
cargo install cargo-binutils
rustup component add llvm-tools
```

You are now ready to build an embedded application in Rust.
