Skip to content

Raspberry-Pi Bare Metal Tutorial

Build Status

This repository contains the code for the Raspberry-Pi bare-metal programming in C series. The home of the tutorial and all of the articles relating to the code is at valvers.com and github

You can build on linux - because if you're going to develop, you may as well get yourself the ability to use Linux whether as a VM on your Windows desktop or as your main desktop.

NOTE: This tutorial also used to be tested on Windows, but as I don't have any Windows installs available any more, or indeed the time available to test everything under Windows it's dropped off the list.

Getting Started

Clone this repository and get the toolchain and firmware.

The toolchain used for the tutorial can be fetched by the compiler/get_compiler.sh script which will download the compiler locally so you don't need to install any specific packages from your Linux distro.

Similarly, the required Raspberry Pi firmware is also stored locally and can be fetched by using the firmware/get_firmware_repo.sh script.

Get reading the tutorial.

Have fun, and remember to experiment!

Step01 - Getting Started

Step02 - C Runtime

Step03 - Introducing CMake

Step04 - Interrupts

Step05 - Graphics(Basic)

Original Cambridge Tutorial that inspired this tutorial series.

ARM Instruction Reference

Circle C++ Bare Metal Environment for RPI

Newlib C-Library documentation