ARM Microprocessor Basics

ARM Microprocessor Basics

Introduction

  • ARM: Advance RISC Machine.
  • ARM was established as a joint venture between Acorn, Apple and VLSI in November 1990.
  • ARM is the industry’s leading provider of 16/32-bit embedded RISC microprocessor solutions.
  • The company licenses its high-performance, low-cost, power-efficient RISC processors, peripherals, and system-chip designs to leading international electronics companies.
  • ARM provides comprehensive support required in developing a complete system.

Role of ARM Holdings

  • ARM Holdings is a technology company headquartered in Cambridge, England, UK.
  • The company is best known for its processors, although it also designs, licenses and sells software development tools under the RealView and KEIL brands, systems and platforms, system-on-a-chip infrastructure and software.
  • Important: ARM does not manufacture ICs!
  • ARM grants licenses of its core to different silicon vendors like ATMEL, NXP, Cirrus Logic, etc.
  • These companies then manufacture the ICs.
  • Examples include: LPC2148 from NXP, AT91RM9200 from ATMEL.

Where are ARM processors used?

  • ARM processors can be used in any domain.
  • Mainly, ARM processors are used in Handheld devices, Robotics, Automation, and Consumer Electronics.
  • However, ARM processors are available for almost every domain.

ARM Based Products

Apple iPhone (ARM 11)

Motorola Z8 Smartphone (ARM11)

Blackberry (ARM11)

Nokia E90 Communicator (ARM11)

Processors Inside ARM-Based Products

SAMSUNG processor

ST Microelectronics processor

Texas Instruments : OMAP and DaVinci processor

Key Features of ARM Processors

  • RISC Architecture: ARM processors are based on RISC (Reduced Instruction Set Computation).
    Note: ARM is not 100% RISC; it includes amendments to meet the requirements of Embedded Systems.
  • Large Register File: Features a large set of registers (R0 to R16), which is a deviation from pure RISC.
  • Load and Store Architecture: Data processing operations only use register contents.
  • Instruction Set: Uniform and fixed-length instructions.
  • 32-bit Processor.
  • Efficiency: Good speed-to-power consumption ratio.
  • High Code Density.
  • Execution Speed: Mostly single-cycle execution, with speeds from 1MHz to 1.25GHz.
  • Java Support: JAVA Jezelle DBX (Direct Byte code execution).
  • DSP Enhanced Instructions.
  • Security: Support for TrustZone technology for an additional security core.
  • Conditional Execution: All instructions can be conditionally executed (a deviation from RISC).
  • 32-bit Barrel Shifter (a deviation from RISC).
  • In-built Debugging Circuits.

ARM Processor Family

  • ARM7TDMI (Entry Point)
  • StrongARM
  • ARM9 / ARM9TDMI / ARM9E
  • ARM10E
  • ARM11
  • Cortex
  • XScale

ARM Nomenclature: ARMxyzTDMIEJFS

Code Meaning Description
x Series e.g., 7, 9, 11
y MMU Memory Management Unit
z Cache Size of the cache
T Thumb Support for 16-bit Thumb instruction set
D Debugger JTAG debug support
M Multiplier Hardware multiplier (fast multiplication)
I EmbeddedICE Embedded In-Circuit Emulator for advanced debugging
E Enhanced Instructions Enhanced instruction set, often for DSP
J Jazelle Hardware acceleration for Java byte code
F Vector Floating-point Hardware support for floating-point operations
S Synthesizable Version A soft-core version that can be modified before synthesis

Examples:

  • ARM7TDMI: An ARM7 family processor with Thumb, Debug, Multiplier, and EmbeddedICE. This is a very common basic core.
  • ARM946E-S: An ARM9 series core with a cache, enhanced DSP instructions, and is synthesizable.

ARM Processor Architecture Versions

Version Key Features
ARMv1 – v3 Obsolete. Progressively added 32-bit instructions and coprocessor support.
ARMv4 / v4T Added signed load/store instructions. The ‘T’ variant added the Thumb (16-bit) instruction set.
ARMv5TEJ Added support for DSP algorithms and the Jazelle Java byte code engine.
ARMv6 Support for SIMD (Single Instruction, Multiple Data), Thumb-2 ISA, and TrustZone security. Ideal for audio/video applications.
ARMv7 Introduced NEON technology for media processing, optimized Thumb-2, and enhanced floating-point for 3D graphics. Has three profiles: Cortex-A, Cortex-R, and Cortex-M.

ARMv7 Profiles (Cortex)

  • Cortex-A (Application): For complex OS and user applications. Features an MMU (Memory Management Unit) and optional NEON support.
  • Cortex-R (Real-time): For real-time applications requiring high determinism. Implements a protected memory system with an MPU (Memory Protection Unit).
  • Cortex-M (Microcontroller): Designed for fast interrupt processing and cost-sensitive devices. Minimal gate count and highly deterministic behavior.

ARM in a Nutshell

  • ARM processors are widely used in Embedded Systems.
  • Excellent support for RTOS like Linux, QNX, VxWorks, FreeRTOS, etc.
  • Known for their low power consumption and high-end processing capabilities.
  • The ARM7TDMI core is their most successful, with over 1 billion devices shipping every quarter.

ARM Development Tools

A complete development environment includes:

  • IDE (Integrated Development Environment)
  • Compiler Suite
  • Debugger
  • Simulator
  • JTAG Debugging Probe (Hardware)
  • Development Board (Hardware)

Both open-source and proprietary tools are available.

Popular Development Toolchains

Proprietary Tools

  • Keil MDK for ARM (includes uVision IDE, ARMCC compiler)
  • IAR Embedded Workbench for ARM
  • Wind River Workbench
  • Green Hills MULTI
  • Sourcery G++ (from CodeSourcery)

Free & Open Source Tools

  • GNU ARM Embedded Toolchain (GCC for ARM)
  • Eclipse IDE with plugins
  • YAGARTO (Another GNU ARM toolchain)
  • OpenOCD (for debugging)

JTAG Debugging Probes

These are hardware interfaces used for in-circuit debugging and programming.

SEGGER J-Link: A popular USB-powered JTAG emulator compatible with IAR, Keil, etc.

Olimex ARM-USB-OCD: A cost-effective JTAG emulator.

RTOS for ARM

Proprietary RTOS

  • VxWorks from Wind River
  • ThreadX from Express Logic (now part of Microsoft Azure RTOS)
  • uC/OS-II from Micrium
  • MontaVista Linux
  • QNX

Free and Open Source RTOS

  • Linux (with real-time patches like PREEMPT_RT)
  • uClinux (for MMU-less processors)
  • eCos
  • FreeRTOS
  • CooCox

Where to Start?

The LPC214x series is a great starting point for learning ARM.

  • Core: Based on the popular ARM7TDMI family.
  • Features: Excellent feature set for beginners.
  • Tools: Free development toolchains are widely available.
  • Hardware: Development boards are easily available and affordable.
  • RTOS Support: Good support for RTOS like uClinux and FreeRTOS.

© 2026 Pulse Track AI. All Rights Reserved. Turn Today’s Effort into Tomorrow’s Success.