Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 1.84 KB

README.md

File metadata and controls

39 lines (28 loc) · 1.84 KB

Baremetal-Programming Bootcamp 16th-17th December

A single plain C file is sufficient to express an embedded program.

As the Cortex-M architecture is designed with C-Code in mind, no assembly level bringup code is required. The projects in this repository show how to program C code on top of a bare metal CPU without an operating system or support libraries like libc.

The purpose of this course is to lay out the programming methods for talking to hardware in a minimal configuration. Our target is a better understanding of interaction with low level hardware and toolchains for embedded systems.

Lessons

  • Lesson 1: Blink RGB LED - alternate between red and blue
  • Lesson 2: Blink red LED using the low power interrupt
  • Lesson 3: Simple SWO printing of "hello world" and an incrementing counter
  • Lesson 4: Advanced SWO printing using printf

Usage Example

The example below (see source code) will blink the RGB led alternating between red and blue.

# simple example
cd k64f/lesson1-blinky
make clean flash

# debug example
cd k64f/lesson4-debug-printf
make clean swo

Further Reading

Software Requirements