Introduction
The ARM is a 32-bit RISC processor developed by Acorn Computers. ARM processors are typically used in embedded systems, (eg iPhone). The ARM Holdings produces only the core, it sells those cores for other companies that use the ARM processor for microcontroller designs, such as ST and Luminary.

Architecture Features
ARM processors are typically embedded in a hardware form a microcontroller, because of that it has a lot of features used to decrement the object code size, and interrupt latency
- Thumb Mode
- Fast Interrupt subsystem
- Some form of pipeline
- Jazelle (Java bytecode)
- Memory Protection Unit

Besides the fact that we got an 32bits core, we don't need to know every aspect of the core ,because in practise we will be using some C/C++ compiler, in my experience if you ever need to fight with every aspect of the architecture just to crunch a few more cycles, it would be better to use an FPGA or DSP.
Embedded RTOS
Before we look at some specific examples on our development kit, let's review the concepts of embedded operating systems. For exampole this system will on a Cortex M3 board and aims to control a furnace temperature.
Our system need to control the internal furnace temperature and keep running all local interfaces (Sensors, display, keyboard), and our "external world" interfaces (Ethernet, RS-232 for PDA connection)

Resuming out system will have those parts:
- A Cortex M3 Microcontroller
- Temperature Sensors
- Fournace actuators
- Matrix Keyboard
- LCD Display
- Web server
- RS-232 Interface
With an RTOS we can split our logic in tasks, for example, the temperature control would be the most priority task. Separating the job in tasks simplifies a lot our project.
What we're going to see
In this tutorial we'll see some examples with the ST32F103ZE and Luminary microcontroller. Both have an ARM Cortex M3 core but the amount of internal peripherals varies widely, for example Luminary LM3S6965 microcontroller, has an embedded hardware controller ethernet network.