After 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.
- Raspbian Linux OS for Raspberry Pi Is Now Based on Debian GNU/Linux 9 "Stretch"
- Fedora 26 Supports Single “Unified” OS Images for Multiple ARM Platforms
- Android-Based RaspAnd OS Updated for Raspberry Pi 3 with Google Play Support
- RaspEX Linux Brings Ubuntu 17.04 with LXDE Desktop to Raspberry Pi 3 and 2 SBCs
- Canonical Starts Work on a Linux 4.12 Kernel for Ubuntu 17.10 for Raspberry Pi 2
- GPIO Zero 1.4 Is Out for Raspberry Pi SBCs, Update Your Raspbian Linux OS Now