umanovskis / baremetal-arm

An ebook about bare-metal programming for ARM
Other
656 stars 131 forks source link
arm bare-metal baremetal c embedded tutorial

Bare-metal C programming on ARM

This repository contains a tutorial ebook concerning programming a bare-metal ARM system. More specifically it deals with a ARMv7A version of the ARM Versatile Express platform, emulated on a regular PC through QEMU. You can explore the repository, or read things in order.

Table of Contents

An up-to-date PDF version is also available.

The following chapters can be thought of as the first edition of the ebook, providing a complete path from getting started to a working program that uses hardware features.

Repository structure

The repository consists of two top-level folders. The doc folder contains the actual tutorial chapters. The src folder contains the source code corresponding to each chapter. So, for instance, src/04_cenv contains the source code as it looks after completing Chapter 4.

Additionally, the src folder has some shared things. src/common_uboot holds a stripped-down version of U-Boot used in the examples.

Have fun, and feel free to tweak and experiment, that being a great way to learn!