Raspberry Pi Bare Metal Tutorials

The Raspberry-Pi Bare Metal Programming in C tutorials have proved to be very successful and have been liked and read by many people and universities. If you're interested in including the valvers tutorials as part of your Universities syllabus, please get in contact to let me know; It's possible for additional or custom knowledge to be put in to the tutorials to better suit your syllabus' goal.

Get going with the Raspberry Pi Bare Metal Tutorials
RaspberryPiB+_1440

Part 1 – Getting Started I highly recommend going through the Cambridge University Raspberry Pi tutorials as they are excellent. If you want to learn a bit of assembler too, then definitely head off to there! These pages provide a similar experience, but with the additional of writing code in…

RaspberryPiB+_1440

Part 2 – The C Runtime The C-Runtime (different to the C-Library!) is currently missing from our code. In a lot of embedded systems the C-Runtime is essential, or else things break instantly. The most notable thing that’s instantly visible in most embedded systems is that static variables are not…

RaspberryPiB+_1440

Introducing CMake CMake is an excellent build system, I much prefer it to autotools and certainly prefer it in comparison to hand-crafting Makefile’s! CMake’s documentation is great, so feel free to peruse it whilst reading this tutorial. The tutorial isn’t going to cover CMake, other than showing how it can…

RaspberryPiB+_1440

Step04 – Bare Metal Programming in C Pt4

Part 4 – Interrupts In this tutorial, we’re going to look at using interrupts to generate the LED flash. Interrupts are an essential ingredient in embedded programming. We’re going to investigate the BCM2835/6 interrupt process and implement an interrupt for the ARM Timer peripheral to blink the LED. I appreciate…

Read more
RaspberryPiB+_1440

Step05 – Bare Metal Programming in C Pt5

Part 5 – Graphics (Basic) Finally, we get on to a tutorial that moves us away from blinking an LED as we explore the VideoCore IV GPU Reference Material We need some reading material for this tutorial – this is how I put the tutorial together, by reading and studying…

Read more