Raspberry Pi Bare Metal Programming with Rust

2016-Jan-17 | Tags: developmentembeddedhowtoraspberrypi

Linux on ARMAfter reading the excelent http://intermezzos.github.io/, I felt excited again to work on my small kernel, but I was decided to focus on the ARM arch, since it's been awhile since I bought my Raspberry Pi B+, but never spent some time playing with it. So I started to read more about it on osdev wiki and how to get started with bare metal raspberry development.

There isn't a lot of references for this, especially if you're using Rust. Most of the tutorials/examples uses C or plain assembly for the task, so it would be fun to try to build these things just using Rust.

So, to get started we can do the embedded systems hello world: blink a led. My goal was to achieve that with as little assembly as possible, bringing all the cool stuff to Rust, and to my surprise, this was something fairly easy to achieve. To get started we're going to need arm-none-eabi toolchain, for cross-compiling, Rust nightly with libcore compiled for this architecture, Raspberry's boot files and a Raspberry Pi B+ to run our code. I'll walk-through the process.


comments powered by Disqus
Facebook Twitter RSS E-Mail

Linux on ARM