Embedded Systems Programming using Rust (workshop)
This hands-on workshop will provide a quick introduction to the Rust programming language and how it can be used to do “bare metal” programming of small ARM Cortex-M microcontrollers. Participants will get an opportunity to play with Rust on TI Launchpads (http://www.ti.com/tool/EK-TM4C123GXL)!
Code written in C/C++ forms the backbone of our computing infrastructure - Operating system kernels, compilers/interpreters, networking stacks, embedded systems, web browsers, … However, both these languages have a lot of memory safety issues associated with them (like buffer overflows, use-after-free, null pointer dereferencing, dangling pointers) which results in programs being riddled with hard to track down bugs. Rust offers a solution: code written in “safe Rust” is guaranteed to be completely memory safe, and will have performance which is as good (or better) than equivalent C/C++ implementations. Rust achieves this combination of memory safety and high performance by utilizing cutting edge research in type theory. This workshop will provide the participants with a glimpse into the magic which makes it possible for us to write safe code using high level abstractions which gets compiled down to compact and highly efficient machine code running “bare-metal” on small ARM microcontrollers!
- Basic language syntax
- Tools: Cargo, rustup, clippy etc
- Idiomatic Rust: using iterator chains to solve problems
- Building a cross compilation toolchain for ARM Cortex-M microcontrollers
- GPIO programming basics
- Unsafe Rust
- Writing Rust code to control GPIO pins of an ARM Cortex-M microcontroller
I am a Free Software enthusiast from Thrissur, Kerala. More details: http://pramode.net