Build an embedded application with Rust and debug with Arm Development Studio

Who is this for?

This is an introductory topic for embedded application developers to get started with Rust.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Build an embedded application in Rust.
  • Run the application on a Fixed Virtual Platform (FVP).
  • Debug the application with Arm Development Studio.

Prerequisites

Before starting, you will need the following:

  • An installation of Arm Development Studio.
  • A basic understanding of Rust programming.

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll build a bare-metal Rust example for Armv7-M, run it on an Arm FVP, and prepare to debug it with Arm Development Studio. You’ll install the tools, compile for the thumbv7m-none-eabi target, and launch FVP_MPS2_Cortex-M3 with the binary. Optionally, you can disable visualization to shorten startup. You’ll verify the calculation from console output, then load the same example in Arm Debugger.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which Rust target do I build for this example?
Build for Armv7-M with the thumbv7m-none-eabi target. The run command uses output under target/thumbv7m-none-eabi.
Which FVP model should I use to run the application?
Use the FVP_MPS2_Cortex-M3.exe model included with Arm Development Studio. The example run command invokes this executable.
Where do I point the FVP -a option after building?
Point -a to the built binary under target/thumbv7m-none-eabi/debug/examples/armds. Ensure that the path matches your build output directory and example name.
How do I start the FVP without visualization to reduce startup time?
Add -C fvp_mps2.mps2_visualisation.disable-visualisation=1 to the FVP command. This affects only visualization and doesn’t change FVP behavior.
What output should I expect to verify the run completed?
The console shows output similar to “Total sum to 1 is 1” and “Calculated sum is 1.” The application then runs to completion on the FVP.
Next