ARM Embedded Systems
PRESENTED BY
B.S .NAGESWARARAO
DEPT OF ECE
ESWAR COLLEGE OF ENGINEERING
NARASARAOPET
Outline:
 What is ARM Processor
 The RISC design philosophy
 The ARM Design Philosophy
 Instruction Set for Embedded Systems
 Embedded System Hardware
 ARM Bus Technology
 AMBA Bus Protocol
 Memory
 Peripherals
 Embedded System Software
 Initialization (Boot) Code
 Memory mapping
 Operating System
 Applications
 what is ARM Processor:
 An ARM processor is one of a family of CPUs based on the RISC (reduced
instruction set computer) architecture developed by Advanced RISC
Machines(ARM). ARM makes 32-bit and 64-bit RISC multi-core processors
 The RISC design philosophy
The RISC philosophy is implemented with four major design rules:
1) instructions, 2) Pipelines, 3) Registers, 4) Load-store architecture
 The ARM Design Philosophy
 There are a number of physical features that have driven the ARM processor
design, First, portable embedded systems require some form of battery power.
 High code density is another major requirement since embedded systems have
limited memory due to cost and/or physical size restrictions.
 Another important requirement is to reduce the area of the die taken up by the
embedded processor.
 Instruction Set for Embedded Systems
 The ARM instruction set differs from the pure RISC definition in several ways that
make the ARM instruction set suitable for embedded applications:
*Variable cycle execution for certain instructions
*Inline barrel shifter leading to more complex instructions
*Thumb 16-bit instruction set
*Conditional execution
*Enhanced instructions
 Embedded System Hardware
An example of an ARM-based embedded device, a microcontroller.
 ARM Bus Technology
 Embedded systems use different bus technologies than those designed for x86
PCs.
 The most common PC bus technology, the Peripheral Component Interconnect
(PCI) bus, connects such devices as video cards and hard disk controllers to the
x86 processor bus.
 A bus has two architecture levels.
 Physical level
 Protocol- the logical
AMBA Bus Protocol:
 The Advanced Microcontroller Bus Architecture (AMBA) was introduced in 1996.
 ARM System Bus (ASB)
 ARM Peripheral Bus(APB)
 ARM High Performance Bus (AHB)
 ARM has introduced two variations on the AHB bus: Multi-layer AHB and
AHB-Lite.
Memory:
 An embedded system has to have some form of memory to store and execute code.
 Width: The memory width is the number of bits the memory returns on each
access typically8, 16, 32, or 64 bits. The memory width has a direct effect on the
overall performance and cost ratio.
 Fetching instructions from memory.
 Types:
 ROM
 DRAM
 SRAM
 SDRAM
Instruction size 8-bit memory 16-bit memory 32-bit memory
ARM 32-bit 4 cycles 2 cycles 1 cycle
Thumb 16- bit 2 cycles 1 cycle 1 cycle
Peripherals
 Embedded systems that interact with the outside world need some form of peripheral
device
 A peripheral device performs input and output functions for the chip by connecting to
other devices or sensors that are off-chip.
 Two important types of controllers are memory controllers and interrupt controllers.
 Memory Controllers
 Interrupt Controllers
 Embedded System Software
 An embedded system needs four typical software components required to control an
embedded device.
 Each software component in the stack uses a higher level of abstraction to separate
the code from the hardware device.
Hardware device
Initialization Device drivers
Operating system
Application
Software abstraction layers executing on hardware.
 Memory mapping
Operating System
 ARM processors support over 50 operating systems. We can divide operating
systems into two main categories: real-time operating systems (RTOSs) and platform
operating systems.
 RTOSs provide guaranteed response times to events. Different operating systems
have different amounts of control over the system response time.
 Platform operating systems require a memory management unit to manage large, non
real- time applications and tend to have secondary storage.
Applications
ARM processors are found in numerous market segments,
including networking, automotive, mobile and consumer
devices, mass storage, and imaging. Within each segment
ARM processors can be found in multiple applications.
For example, the ARM processor is found in networking
applications like home gateways, DSL modems for high-
speed Internet communication, and 802.11 wireless
communication. The mobile device segment is the largest
application area for ARM processors because of mobile
phones.

Unit vi (1)

  • 1.
    ARM Embedded Systems PRESENTEDBY B.S .NAGESWARARAO DEPT OF ECE ESWAR COLLEGE OF ENGINEERING NARASARAOPET
  • 2.
    Outline:  What isARM Processor  The RISC design philosophy  The ARM Design Philosophy  Instruction Set for Embedded Systems  Embedded System Hardware  ARM Bus Technology  AMBA Bus Protocol  Memory  Peripherals  Embedded System Software  Initialization (Boot) Code  Memory mapping  Operating System  Applications
  • 3.
     what isARM Processor:  An ARM processor is one of a family of CPUs based on the RISC (reduced instruction set computer) architecture developed by Advanced RISC Machines(ARM). ARM makes 32-bit and 64-bit RISC multi-core processors
  • 4.
     The RISCdesign philosophy The RISC philosophy is implemented with four major design rules: 1) instructions, 2) Pipelines, 3) Registers, 4) Load-store architecture
  • 5.
     The ARMDesign Philosophy  There are a number of physical features that have driven the ARM processor design, First, portable embedded systems require some form of battery power.  High code density is another major requirement since embedded systems have limited memory due to cost and/or physical size restrictions.  Another important requirement is to reduce the area of the die taken up by the embedded processor.
  • 6.
     Instruction Setfor Embedded Systems  The ARM instruction set differs from the pure RISC definition in several ways that make the ARM instruction set suitable for embedded applications: *Variable cycle execution for certain instructions *Inline barrel shifter leading to more complex instructions *Thumb 16-bit instruction set *Conditional execution *Enhanced instructions
  • 7.
     Embedded SystemHardware An example of an ARM-based embedded device, a microcontroller.
  • 8.
     ARM BusTechnology  Embedded systems use different bus technologies than those designed for x86 PCs.  The most common PC bus technology, the Peripheral Component Interconnect (PCI) bus, connects such devices as video cards and hard disk controllers to the x86 processor bus.  A bus has two architecture levels.  Physical level  Protocol- the logical
  • 9.
    AMBA Bus Protocol: The Advanced Microcontroller Bus Architecture (AMBA) was introduced in 1996.  ARM System Bus (ASB)  ARM Peripheral Bus(APB)  ARM High Performance Bus (AHB)  ARM has introduced two variations on the AHB bus: Multi-layer AHB and AHB-Lite.
  • 10.
    Memory:  An embeddedsystem has to have some form of memory to store and execute code.  Width: The memory width is the number of bits the memory returns on each access typically8, 16, 32, or 64 bits. The memory width has a direct effect on the overall performance and cost ratio.  Fetching instructions from memory.  Types:  ROM  DRAM  SRAM  SDRAM Instruction size 8-bit memory 16-bit memory 32-bit memory ARM 32-bit 4 cycles 2 cycles 1 cycle Thumb 16- bit 2 cycles 1 cycle 1 cycle
  • 11.
    Peripherals  Embedded systemsthat interact with the outside world need some form of peripheral device  A peripheral device performs input and output functions for the chip by connecting to other devices or sensors that are off-chip.  Two important types of controllers are memory controllers and interrupt controllers.  Memory Controllers  Interrupt Controllers
  • 12.
     Embedded SystemSoftware  An embedded system needs four typical software components required to control an embedded device.  Each software component in the stack uses a higher level of abstraction to separate the code from the hardware device. Hardware device Initialization Device drivers Operating system Application Software abstraction layers executing on hardware.
  • 13.
  • 14.
    Operating System  ARMprocessors support over 50 operating systems. We can divide operating systems into two main categories: real-time operating systems (RTOSs) and platform operating systems.  RTOSs provide guaranteed response times to events. Different operating systems have different amounts of control over the system response time.  Platform operating systems require a memory management unit to manage large, non real- time applications and tend to have secondary storage.
  • 15.
    Applications ARM processors arefound in numerous market segments, including networking, automotive, mobile and consumer devices, mass storage, and imaging. Within each segment ARM processors can be found in multiple applications. For example, the ARM processor is found in networking applications like home gateways, DSL modems for high- speed Internet communication, and 802.11 wireless communication. The mobile device segment is the largest application area for ARM processors because of mobile phones.