Building,Flashing and Debugging Embedded Rust Program Building Program Cargo provides 4 different targets that cover the different processor families within that architecture. thumbv6m-none-eabi , for the Cortex-M0 and Cortex-M1 processors thumbv7m-none-eabi , for the Cortex-M3 processor thumbv7em-none-eabi , for the Cortex-M4 and Cortex-M7 processors thumbv7em-none-eabihf , for the Cortex-M4F and Cortex-M7F processors The one we are interested in is last one (i.e. thumbv7em-none-eabihf) because F3 has Cortex-M4F processor in it. Before cross compiling we have to download pre-compiled version of the standard library. For that we have to run: $ rustup target add thumbv7em-none-eabihf We have to download it once after that it will be updated automatically whenever we update rust tool chain. All set, we can now compile our program for whatever target we are compiling, using following command: $ cargo build --target thumbv7em-none-eabihf Flashing Program Flashing => Moving prog