Difference between revisions of "Rust"

From Wiki at Neela Nurseries
Jump to navigation Jump to search
m (Organizations for Rust : add link to Github pdx-cs-rust public member of Github)
m (Add link to Charles Muchene Rust tutorial on Medium dot com)
 
(3 intermediate revisions by the same user not shown)
Line 44: Line 44:
  
 
*  https://docs.rust-embedded.org/book/
 
*  https://docs.rust-embedded.org/book/
 +
 
*  https://docs.rust-embedded.org/embedonomicon/memory-layout.html
 
*  https://docs.rust-embedded.org/embedonomicon/memory-layout.html
 +
 +
Rust crates for STM32:
 +
 +
*  https://crates.io/crates/stm32f4xx-hal
 +
 +
*  https://crates.io/crates/stm32f4
 +
 +
Getting started with specific dev kits:
 +
 +
*  https://medium.com/@charlesmuchene/micro-bits-d-9f273c9462dd
 +
 +
== [[#top|^]] Panic Handling ==
 +
 +
*  https://github.com/rust-lang/cargo/issues/2738
 +
 +
When setting panic compilation to 'abort' on panic, may be necessary to write one's own panic function:
 +
 +
*  https://stackoverflow.com/questions/75310867/rust-no-std-static-lib-panic-handler
 +
 +
How Rust panic is implemented . . . in crates core and std:
 +
 +
*  https://rustc-dev-guide.rust-lang.org/panic-implementation.html
  
 
== [[#top|^]] Questions to Answer ==
 
== [[#top|^]] Questions to Answer ==

Latest revision as of 14:08, 22 January 2026

Notes on Rust programming language

Overview

This local page about the programming language of Rust aims to answer among other questions: How suitable is Rust for embedded development?

Rust By Example (RBE) home page here:

MIT mirror of Rust introduction by chapters:

^ Organizations for Rust

^ Installation and Other Specific Notes

Install Rust on Ubuntu:

Adoption and popularity of Rust:

2025-12-16

Rust crates

^ Rust for Embedded Systems

Rust language for embedded systems:

Rust crates for STM32:

Getting started with specific dev kits:

^ Panic Handling

When setting panic compilation to 'abort' on panic, may be necessary to write one's own panic function:

How Rust panic is implemented . . . in crates core and std:

^ Questions to Answer

(1) For what is Rust language 'derive' keyword used?

  #[derive(Clone)]

  #[derive(Default)]

(2) How is the `.await` method working, and is this kind of element called a method in Rust?

(3) Rust `match` construct, is this equal to C switch statement?

(4) what does at or near top of source file `use defmt::*;` mean?

(5) Rust `impl` a keyword? Seeing this in lines like `impl CanTxChannel`.

(6) `.await.unwrap()` versus `.await`?

(7) What is the following forward arrow operator in this context?:

  pub async fn <function_name>(var declarations) -> () { ... }

(8) What mean the following top of file lines?:

#![no_std]
#![no_main]

^ References Rust and Embassy