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:
- Building your first embedded image (this guide)
- Retargeting output to UART
- Creating an event-driven embedded image
- Changing Exception level and Security state in an embedded image
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