FOSSMeet 2018

FOSSMeet is an annual event at NIT Calicut that brings together the Free and Open Source Community from around the country.

Embedded Systems Programming using Rust (workshop)

Submitted by Pramode C.E (@pramode75) on Saturday, 16 December 2017

videocam_off

Technical level

Intermediate

Status

Confirmed

Vote on this proposal

Login to vote

Total votes:  +12

Abstract

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!

Outline

  1. Basic language syntax
  2. Tools: Cargo, rustup, clippy etc
  3. Idiomatic Rust: using iterator chains to solve problems
  4. Building a cross compilation toolchain for ARM Cortex-M microcontrollers
  5. GPIO programming basics
  6. Unsafe Rust
  7. Writing Rust code to control GPIO pins of an ARM Cortex-M microcontroller

Speaker bio

I am a Free Software enthusiast from Thrissur, Kerala. More details: http://pramode.net

Comments

Login with Twitter or Google to leave a comment