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.
- $40 NanoPi K2 Board Powered by Amlogic S905 Processor Competes with ODROID-C2, Raspberry Pi 3
- OpenELEC 8.0 Linux distribution now available for PC, Raspberry Pi, WeTek Hub, and more
- OpenELEC 8.0 Linux OS Officially Out with Raspberry Pi Zero W Support, Kodi 17.1
- Azul Systems’ Zulu Embedded is a Build of OpenJDK for ARM, MIPS, PowerPC, and x86 Compliant with Java SE standard
- Open Source ARM Compute Library Released with NEON and OpenCL Accelerated Functions for Computer Vision, Machine Learning
- Orange Pi 2G-IoT ARM Linux Development Board with 2G/GSM Support is Up for Sale for $9.90