Coding for an embedded system typically requires the programmer to have more direct interaction with the device hardware than a programmer writing software for a general-purpose computer. This is because:

  • Embedded systems may not have a display, so the programmer might need to retarget debug output to a serial output port.
  • Embedded systems typically monitor inputs waiting for a stimulus, and these events will require an interrupt handler.
  • Embedded systems often require low-level initialization at startup, before any other code is executed, in the form of a reset handler.

This guide shows you how to write, compile, and run a simple program for an embedded system based on Arm technology. This information is useful for anyone who is new to writing software for an Arm-based embedded system.

This guide is the first in a collection of related documentation:

At the end of this guide, you will be able to:

  • Write a simple "Hello World" example program for an embedded system
  • Configure the memory map
  • Build an Executable and Linkable Format (ELF) image using the Arm Compiler 6 toolchain
  • Run a simulation of the ELF image on the supplied FVP model