SlideShare a Scribd company logo
2
Most read
3
Most read
4
Most read
ARM-32 Bit Microcontroller
Introduction
By Mr. Anand H D
Dr. AIT, Bengaluru-56
1
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
What is the ARM Cortex-M3 processor?
The requirement for higher performance microcontrollers has been driven globally by
the industry’s changing needs; for example, microcontrollers are required to handle
more work without increasing a product’s frequency or power.
In addition, microcontrollers are becoming increasingly connected, whether by
Universal Serial Bus (USB), Ethernet, or wireless radio, and hence, the processing
needed to support these communication channels and advanced peripherals are
growing.
Similarly, general application complexity is on the increase, driven by more sophisticated
user interfaces, multimedia requirements, system speed, and convergence of
functionalities.
The ARM Cortex™-M3 processor, the first of the Cortex generation of processors
released by ARM in 2006, was primarily designed to target the 32-bit microcontroller
market.
The Cortex M3 processor provides excellent performance at low gate count and comes
with many new features previously available only in high-end processors.
2
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
The Cortex-M3 addresses the requirements for the 32-bit embedded processor
market in the following ways:
• Greater performance efficiency: allowing more work to be done without
increasing the frequency or power requirements
• Low power consumption: enabling longer battery life, especially critical in
portable products including wireless networking applications.
• Enhanced determinism: guaranteeing that critical tasks and interrupts are
serviced as quickly as possible and in a known number of cycles
• Improved code density: ensuring that code fits in even the smallest memory
footprints
• Ease of use: providing easier programmability and debugging for the growing
number of 8-bit and 16-bit users migrating to 32 bits
• Lower cost solutions: reducing 32-bit-based system costs close to those of
legacy 8-bit and 16-bit devices.
• Wide choice of development tools: from low-cost or free compilers to full-
featured development suites from many development tool vendors.
3
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
A Brief history:
ARM was formed in 1990 as Advanced RISC Machines Ltd., a joint venture of Apple
Computer, Acorn Computer Group, and VLSI Technology.
In 1991, ARM introduced the ARM6 processor family, and VLSI became the initial
licensee.
Subsequently, additional companies, including Texas Instruments, NEC, Sharp, and ST
Microelectronics, licensed the ARM processor designs.
Extending the applications of ARM processors into mobile phones, computer hard disks,
personal digital assistants (PDAs), home entertainment systems, and many other
consumer products.
Unlike many semiconductor companies, ARM does not manufacture processors or sell
the chips directly. Instead, ARM licenses the processor designs to business partners,
including a majority of the world’s leading semiconductor companies.
Based on the ARM low-cost and power-efficient processor designs, these partners create
their processors, microcontrollers, and system-on-chip solutions. This business model is
commonly called intellectual property (IP) licensing.
4
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
Architecture Versions:
Over the years, ARM has continued to develop new processors and system blocks.
Including the popular ARM7TDMI processor and, more recently, the ARM1176TZ(F)-S
processor, which is used in high-end applications such as smart phones.
The evolution of features and enhancements to the processors over time has led to
successive versions of the ARM architecture.
Note that architecture version numbers are independent from processor names.
For example, the ARM7TDMI processor is based on the ARMv4T architecture (the T is for
Thumb® instruction mode support)
The ARMv5E architecture was introduced with the ARM9E processor families, including
the ARM926E-S and ARM946E-S processors. This architecture added “Enhanced” Digital
Signal Processing (DSP) instructions for multimedia applications.
With the arrival of the ARM11 processor family, the architecture was extended to the
ARMv6. New features in this architecture included memory system features and Single
Instruction Multiple Data (SIMD) instructions.
5
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
ARM extended its product portfolio by diversifying its CPU development, which resulted
in the architecture version 7 or v7. In this version, the architecture design is divided into
three profiles:
• The A profile is designed for high-performance open application platforms.
• The R profile is designed for high-end embedded systems in which real-time
performance is needed.
• The M profile is designed for deeply embedded microcontroller-type systems.
• A Profile (ARMv7-A): Application processors which are designed to handle complex
applications such as high-end embedded operating systems. These processors requiring
the highest processing power, virtual memory system support with memory
management units (MMUs), and, optionally, enhanced Java support and a secure
program execution environment. Eg. high-end mobile phones and electronic wallets for
financial transactions.
• R Profile (ARMv7-R): Real-time, high-performance processors targeted primarily at
the higher end of the real-time1 market—those applications, such as high-end breaking
systems and hard drive controllers, in which high processing power and high reliability
are essential and for which low latency is important.
• M Profile (ARMv7-M): Processors targeting low-cost applications in which processing
efficiency is important and cost, power consumption, low interrupt latency, and ease of
use are critical, as well as industrial control applications, including real-time control
systems. 6
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
The Cortex processor families are the first products developed on architecture v7.
The Cortex-M3 processor is based on one profile of the v7 arch., called ARM v7-M.
7
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
Processor naming:
Traditionally, ARM used a numbering scheme to name processors. In the early days (the
1990s), suffixes were also used to indicate features on the processors.
For example, with the ARM7TDMI processor, the
T indicates Thumb instruction support,
D indicates JTAG debugging,
M indicates fast multiplier, and
I indicates an embedded ICE module.
Subsequently, it was decided that these features should become standard features of
future ARM processors; therefore, these suffixes are no longer added to the new
Instead, variations on memory interface, cache, and tightly coupled memory (TCM)
have created a new scheme for processor naming. For example, ARM processors with
cache and MMUs are now given the suffix “26” or “36,”
whereas processors with MPUs are given the suffix “46” (e.g., ARM946E-S).
In addition, other suffixes are added to indicate synthesizable2 (S) and Jazelle (J)
technology.
8
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
Instruction Set Development:
Enhancement and extension of instruction sets used by the ARM processors has been
one of the key driving forces of the architecture’s evolution.
Historically (since ARM7TDMI), two different instruction sets are supported on the
ARM processor: the ARM instructions that are 32 bits and Thumb instructions that are
16 bits.
During program execution, the processor can be dynamically switched between the
ARM state and the Thumb state to use either one of the instruction sets.
The Thumb instruction set provides only a subset of the ARM instructions, but it can
provide higher code density. It is useful for products with tight memory requirements.
As the architecture version has been updated, extra instructions have been added to
both ARM instructions and Thumb instructions.
In 2003, ARM announced the Thumb-2 instruction set, which is a new superset of
Thumb instructions that contains both 16-bit and 32-bit instructions.
9
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
With version 7 of the architecture, ARM has migrated away from these complex
numbering schemes that needed to be decoded, moving to a consistent naming for
families of processors, with Cortex its initial brand.
In addition to illustrating the compatibility across processors, this system removes
confusion between architectural version and processor family number; for example,
the ARM7TDMI is not a v7 processor but was based on the v4T architecture.
10
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
The Thumb-2 Technology and Instruction Set Architecture:
The Thumb-2 technology extended the Thumb Instruction Set Architecture (ISA) into a
highly efficient and powerful instruction set that delivers significant benefits in terms of
ease of use, code size, and performance.
The extended instruction set in Thumb-2 is a superset of the previous 16-bit Thumb
instruction set, with additional 16-bit instructions alongside 32-bit instructions.
It allows more complex operations to be carried out in the Thumb state, thus allowing
higher efficiency by reducing the number of states switching between ARM state and
Thumb state.
Focused on small memory system devices such as microcontrollers and reducing the size
of the processor, the Cortex-M3 supports only the Thumb-2 (and traditional Thumb)
instruction set.
Instead of using ARM instructions for some operations, as in traditional ARM processors,
it uses the Thumb-2 instruction set for all operations.
As a result, the Cortex-M3 processor is not backward compatible with traditional
11
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
12
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
Cortex-M3 Processor Applications:
With its high performance and high code density and small silicon footprint, the Cortex
M3 processor is ideal for a wide variety of applications:
• Low-cost microcontrollers: The Cortex-M3 processor is ideally suited for low-cost
microcontrollers, which are commonly used in consumer products, from toys to
electrical appliances.
Its lower power, high performance, and ease-of-use advantages enable embedded
developers to migrate to 32-bit systems and develop products with the ARM
architecture.
• Automotive: The Cortex-M3 processor has very high-performance efficiency and low
interrupt latency, allowing it to be used in real-time systems.
The Cortex-M3 processor supports up to 240 external vectored interrupts, with a built-
in interrupt controller with nested interrupt supports and an optional MPU, making it
ideal for highly integrated and cost-sensitive automotive applications.
• Data communications: The processor’s low power and high efficiency, coupled with
instructions in Thumb-2 for bit-field manipulation, make the Cortex-M3 ideal for many
communications applications, such as Bluetooth and ZigBee.
13
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
• Industrial control: In industrial control applications, simplicity, fast response, and
reliability are key factors.
Again, the Cortex-M3 processor’s interrupt feature, low interrupt latency, and enhanced
fault-handling features make it a strong candidate in this area.
• Consumer products: In many consumer products, a high-performance microprocessor
(or several of them) is used.
The Cortex-M3 processor, being a small processor, is highly efficient and low in power
and supports an MPU enabling complex software to execute while providing robust
memory protection.
There are already many Cortex-M3 processor-based products on the market, including
low-end products priced as low as US$1, making the cost of ARM microcontrollers
comparable to or lower than that of many 8-bit microcontrollers.
14
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
15
Reference
• Joseph Yiu, “ The Definitive Guide to the
ARM Cortex-M3”, Second Edition, Newnes,
(Elsevier), 2008
Prepared by Prof. Anand H D,Dept. of ECE,
Dr. AIT, Bengaluru-56
16
Prof. Anand H. D.
M. Tech. (PhD.)
Assistant Professor,
Department of Electronics & Communication Engineering
Dr. Ambedkar Institute of Technology, Bengaluru-56
Email: anandhdece@dr-ait.org
Phone: 9844518832

More Related Content

What's hot (20)

PDF
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Shrishail Bhat
 
PPTX
Superscalar & superpipeline processor
Muhammad Ishaq
 
PPTX
ARM Processors
Mathivanan Natarajan
 
PDF
ARM Architecture
Dwight Sabio
 
PPTX
Arm modes
abhi165
 
PPTX
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
Shrishail Bhat
 
PPT
PIC Microcontrollers.ppt
Dr.YNM
 
PPSX
LECT 1: ARM PROCESSORS
Dr.YNM
 
PDF
Serial Communication Interfaces
anishgoel
 
PDF
fpga programming
Anish Gupta
 
PPTX
Arm programmer's model
v Kalairajan
 
PDF
Unit II arm 7 Instruction Set
Dr. Pankaj Zope
 
PPT
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
PPT
Unit 3 basic processing unit
chidabdu
 
PPTX
Design challenges in embedded systems
mahalakshmimalini
 
PPTX
8051 memory
Mayank Garg
 
PPTX
Embedded system
Pankaj Upadhyay
 
PPT
ARM Micro-controller
Ravikumar Tiwari
 
PDF
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Shrishail Bhat
 
PPT
Purpose of Embedded Systems
VijayKumar5738
 
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Shrishail Bhat
 
Superscalar & superpipeline processor
Muhammad Ishaq
 
ARM Processors
Mathivanan Natarajan
 
ARM Architecture
Dwight Sabio
 
Arm modes
abhi165
 
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
Shrishail Bhat
 
PIC Microcontrollers.ppt
Dr.YNM
 
LECT 1: ARM PROCESSORS
Dr.YNM
 
Serial Communication Interfaces
anishgoel
 
fpga programming
Anish Gupta
 
Arm programmer's model
v Kalairajan
 
Unit II arm 7 Instruction Set
Dr. Pankaj Zope
 
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
 
Unit 3 basic processing unit
chidabdu
 
Design challenges in embedded systems
mahalakshmimalini
 
8051 memory
Mayank Garg
 
Embedded system
Pankaj Upadhyay
 
ARM Micro-controller
Ravikumar Tiwari
 
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Shrishail Bhat
 
Purpose of Embedded Systems
VijayKumar5738
 

Similar to ARM 32-bit Microcontroller Cortex-M3 introduction (20)

PPTX
ARM UNIT4 PPTold.pptx
DrKSANTOSHKUMAR
 
PPTX
ES Module_1.pptx
sarala9
 
PDF
ARM Microcontrollers and Embedded Systems-Module 1_VTU
Girish M
 
PPTX
Arm arcitechture in the coa topic with computer systems
VaibhavSuthar8
 
PDF
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC
IEEE SSCS AlexSC
 
PDF
ARM Processor Tutorial
Embeddedcraft Craft
 
PDF
How to Select Hardware for Internet of Things Systems?
Hannes Tschofenig
 
PPTX
Module 1 - ARM 32 Bit Microcontroller
Amogha Bandrikalli
 
PPTX
Arm Processors Architectures
Mohammed Hilal
 
DOCX
Arm processors' architecture
Dr.YNM
 
PDF
ARM.pdf
SnehaSoni72
 
PPTX
ARM Introduction.pptx
Pratik Gohel
 
PPTX
Arm corrected ppt
anish jagan
 
PDF
Module-2 Instruction Set Cpus.pdf
Sitamarhi Institute of Technology
 
PPTX
ARM Architecture,blkdgm,modes,family.pptx
nagavanikanagavel1
 
PPT
ARM-Introduction, registers and processor states.ppt
ECEHITS
 
PPTX
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 
DOCX
ARM7-ARCHITECTURE
Dr.YNM
 
PDF
18CS44-MODULE1-PPT.pdf
VanshikaRajvanshi1
 
PPTX
ARM Versions, architecture
Karthik Vivek
 
ARM UNIT4 PPTold.pptx
DrKSANTOSHKUMAR
 
ES Module_1.pptx
sarala9
 
ARM Microcontrollers and Embedded Systems-Module 1_VTU
Girish M
 
Arm arcitechture in the coa topic with computer systems
VaibhavSuthar8
 
1: Interfacing using ARM Cortex M4 || IEEE SSCS AlexSC
IEEE SSCS AlexSC
 
ARM Processor Tutorial
Embeddedcraft Craft
 
How to Select Hardware for Internet of Things Systems?
Hannes Tschofenig
 
Module 1 - ARM 32 Bit Microcontroller
Amogha Bandrikalli
 
Arm Processors Architectures
Mohammed Hilal
 
Arm processors' architecture
Dr.YNM
 
ARM.pdf
SnehaSoni72
 
ARM Introduction.pptx
Pratik Gohel
 
Arm corrected ppt
anish jagan
 
Module-2 Instruction Set Cpus.pdf
Sitamarhi Institute of Technology
 
ARM Architecture,blkdgm,modes,family.pptx
nagavanikanagavel1
 
ARM-Introduction, registers and processor states.ppt
ECEHITS
 
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 
ARM7-ARCHITECTURE
Dr.YNM
 
18CS44-MODULE1-PPT.pdf
VanshikaRajvanshi1
 
ARM Versions, architecture
Karthik Vivek
 
Ad

More from anand hd (20)

PDF
RMV sensors
anand hd
 
PDF
RMV robot programming
anand hd
 
PDF
Robot applications
anand hd
 
PDF
RMV Mechanics
anand hd
 
PDF
Robot Machine Vision
anand hd
 
PDF
RMV Artificial Intelligence
anand hd
 
PDF
OS file systems
anand hd
 
PDF
OS virtual memory
anand hd
 
PDF
OS scheduling
anand hd
 
PDF
OS Memory Management
anand hd
 
PPTX
Modules and ports in Verilog HDL
anand hd
 
PDF
Characteristics and Quality Attributes of Embedded System
anand hd
 
PDF
Basic concepts in Verilog HDL
anand hd
 
PDF
Overview of digital design with Verilog HDL
anand hd
 
PDF
Typical Embedded System
anand hd
 
PDF
OS-Process Management
anand hd
 
PDF
Robotics Endeffectors
anand hd
 
PDF
Structure of Operating System
anand hd
 
PDF
Fundamentals of Robotics and Machine Vision System
anand hd
 
PDF
Os overview
anand hd
 
RMV sensors
anand hd
 
RMV robot programming
anand hd
 
Robot applications
anand hd
 
RMV Mechanics
anand hd
 
Robot Machine Vision
anand hd
 
RMV Artificial Intelligence
anand hd
 
OS file systems
anand hd
 
OS virtual memory
anand hd
 
OS scheduling
anand hd
 
OS Memory Management
anand hd
 
Modules and ports in Verilog HDL
anand hd
 
Characteristics and Quality Attributes of Embedded System
anand hd
 
Basic concepts in Verilog HDL
anand hd
 
Overview of digital design with Verilog HDL
anand hd
 
Typical Embedded System
anand hd
 
OS-Process Management
anand hd
 
Robotics Endeffectors
anand hd
 
Structure of Operating System
anand hd
 
Fundamentals of Robotics and Machine Vision System
anand hd
 
Os overview
anand hd
 
Ad

Recently uploaded (20)

PPT
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
PPTX
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
PPTX
WHO And BIS std- for water quality .pptx
dhanashree78
 
PPTX
Functions in Python Programming Language
BeulahS2
 
PPTX
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
PPSX
OOPS Concepts in Python and Exception Handling
Dr. A. B. Shinde
 
PDF
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
PDF
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
PDF
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
PDF
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
PDF
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PPT
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
PDF
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
PDF
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
PPTX
Introduction to Python Programming Language
merlinjohnsy
 
PDF
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
PDF
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
PPTX
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PPTX
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 
FINAL plumbing code for board exam passer
MattKristopherDiaz
 
Tesla-Stock-Analysis-and-Forecast.pptx (1).pptx
moonsony54
 
WHO And BIS std- for water quality .pptx
dhanashree78
 
Functions in Python Programming Language
BeulahS2
 
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
OOPS Concepts in Python and Exception Handling
Dr. A. B. Shinde
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
 
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
Rapid Prototyping for XR: Lecture 1 Introduction to Prototyping
Mark Billinghurst
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
SF 9_Unit 1.ppt software engineering ppt
AmarrKannthh
 
Designing for Tomorrow – Architecture’s Role in the Sustainability Movement
BIM Services
 
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
Introduction to Python Programming Language
merlinjohnsy
 
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
 
Decision support system in machine learning models for a face recognition-bas...
TELKOMNIKA JOURNAL
 
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
CST413 KTU S7 CSE Machine Learning Neural Networks and Support Vector Machine...
resming1
 

ARM 32-bit Microcontroller Cortex-M3 introduction

  • 1. ARM-32 Bit Microcontroller Introduction By Mr. Anand H D Dr. AIT, Bengaluru-56 1 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 2. What is the ARM Cortex-M3 processor? The requirement for higher performance microcontrollers has been driven globally by the industry’s changing needs; for example, microcontrollers are required to handle more work without increasing a product’s frequency or power. In addition, microcontrollers are becoming increasingly connected, whether by Universal Serial Bus (USB), Ethernet, or wireless radio, and hence, the processing needed to support these communication channels and advanced peripherals are growing. Similarly, general application complexity is on the increase, driven by more sophisticated user interfaces, multimedia requirements, system speed, and convergence of functionalities. The ARM Cortex™-M3 processor, the first of the Cortex generation of processors released by ARM in 2006, was primarily designed to target the 32-bit microcontroller market. The Cortex M3 processor provides excellent performance at low gate count and comes with many new features previously available only in high-end processors. 2 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 3. The Cortex-M3 addresses the requirements for the 32-bit embedded processor market in the following ways: • Greater performance efficiency: allowing more work to be done without increasing the frequency or power requirements • Low power consumption: enabling longer battery life, especially critical in portable products including wireless networking applications. • Enhanced determinism: guaranteeing that critical tasks and interrupts are serviced as quickly as possible and in a known number of cycles • Improved code density: ensuring that code fits in even the smallest memory footprints • Ease of use: providing easier programmability and debugging for the growing number of 8-bit and 16-bit users migrating to 32 bits • Lower cost solutions: reducing 32-bit-based system costs close to those of legacy 8-bit and 16-bit devices. • Wide choice of development tools: from low-cost or free compilers to full- featured development suites from many development tool vendors. 3 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 4. A Brief history: ARM was formed in 1990 as Advanced RISC Machines Ltd., a joint venture of Apple Computer, Acorn Computer Group, and VLSI Technology. In 1991, ARM introduced the ARM6 processor family, and VLSI became the initial licensee. Subsequently, additional companies, including Texas Instruments, NEC, Sharp, and ST Microelectronics, licensed the ARM processor designs. Extending the applications of ARM processors into mobile phones, computer hard disks, personal digital assistants (PDAs), home entertainment systems, and many other consumer products. Unlike many semiconductor companies, ARM does not manufacture processors or sell the chips directly. Instead, ARM licenses the processor designs to business partners, including a majority of the world’s leading semiconductor companies. Based on the ARM low-cost and power-efficient processor designs, these partners create their processors, microcontrollers, and system-on-chip solutions. This business model is commonly called intellectual property (IP) licensing. 4 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 5. Architecture Versions: Over the years, ARM has continued to develop new processors and system blocks. Including the popular ARM7TDMI processor and, more recently, the ARM1176TZ(F)-S processor, which is used in high-end applications such as smart phones. The evolution of features and enhancements to the processors over time has led to successive versions of the ARM architecture. Note that architecture version numbers are independent from processor names. For example, the ARM7TDMI processor is based on the ARMv4T architecture (the T is for Thumb® instruction mode support) The ARMv5E architecture was introduced with the ARM9E processor families, including the ARM926E-S and ARM946E-S processors. This architecture added “Enhanced” Digital Signal Processing (DSP) instructions for multimedia applications. With the arrival of the ARM11 processor family, the architecture was extended to the ARMv6. New features in this architecture included memory system features and Single Instruction Multiple Data (SIMD) instructions. 5 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 6. ARM extended its product portfolio by diversifying its CPU development, which resulted in the architecture version 7 or v7. In this version, the architecture design is divided into three profiles: • The A profile is designed for high-performance open application platforms. • The R profile is designed for high-end embedded systems in which real-time performance is needed. • The M profile is designed for deeply embedded microcontroller-type systems. • A Profile (ARMv7-A): Application processors which are designed to handle complex applications such as high-end embedded operating systems. These processors requiring the highest processing power, virtual memory system support with memory management units (MMUs), and, optionally, enhanced Java support and a secure program execution environment. Eg. high-end mobile phones and electronic wallets for financial transactions. • R Profile (ARMv7-R): Real-time, high-performance processors targeted primarily at the higher end of the real-time1 market—those applications, such as high-end breaking systems and hard drive controllers, in which high processing power and high reliability are essential and for which low latency is important. • M Profile (ARMv7-M): Processors targeting low-cost applications in which processing efficiency is important and cost, power consumption, low interrupt latency, and ease of use are critical, as well as industrial control applications, including real-time control systems. 6 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 7. The Cortex processor families are the first products developed on architecture v7. The Cortex-M3 processor is based on one profile of the v7 arch., called ARM v7-M. 7 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 8. Processor naming: Traditionally, ARM used a numbering scheme to name processors. In the early days (the 1990s), suffixes were also used to indicate features on the processors. For example, with the ARM7TDMI processor, the T indicates Thumb instruction support, D indicates JTAG debugging, M indicates fast multiplier, and I indicates an embedded ICE module. Subsequently, it was decided that these features should become standard features of future ARM processors; therefore, these suffixes are no longer added to the new Instead, variations on memory interface, cache, and tightly coupled memory (TCM) have created a new scheme for processor naming. For example, ARM processors with cache and MMUs are now given the suffix “26” or “36,” whereas processors with MPUs are given the suffix “46” (e.g., ARM946E-S). In addition, other suffixes are added to indicate synthesizable2 (S) and Jazelle (J) technology. 8 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 9. Instruction Set Development: Enhancement and extension of instruction sets used by the ARM processors has been one of the key driving forces of the architecture’s evolution. Historically (since ARM7TDMI), two different instruction sets are supported on the ARM processor: the ARM instructions that are 32 bits and Thumb instructions that are 16 bits. During program execution, the processor can be dynamically switched between the ARM state and the Thumb state to use either one of the instruction sets. The Thumb instruction set provides only a subset of the ARM instructions, but it can provide higher code density. It is useful for products with tight memory requirements. As the architecture version has been updated, extra instructions have been added to both ARM instructions and Thumb instructions. In 2003, ARM announced the Thumb-2 instruction set, which is a new superset of Thumb instructions that contains both 16-bit and 32-bit instructions. 9 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 10. With version 7 of the architecture, ARM has migrated away from these complex numbering schemes that needed to be decoded, moving to a consistent naming for families of processors, with Cortex its initial brand. In addition to illustrating the compatibility across processors, this system removes confusion between architectural version and processor family number; for example, the ARM7TDMI is not a v7 processor but was based on the v4T architecture. 10 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 11. The Thumb-2 Technology and Instruction Set Architecture: The Thumb-2 technology extended the Thumb Instruction Set Architecture (ISA) into a highly efficient and powerful instruction set that delivers significant benefits in terms of ease of use, code size, and performance. The extended instruction set in Thumb-2 is a superset of the previous 16-bit Thumb instruction set, with additional 16-bit instructions alongside 32-bit instructions. It allows more complex operations to be carried out in the Thumb state, thus allowing higher efficiency by reducing the number of states switching between ARM state and Thumb state. Focused on small memory system devices such as microcontrollers and reducing the size of the processor, the Cortex-M3 supports only the Thumb-2 (and traditional Thumb) instruction set. Instead of using ARM instructions for some operations, as in traditional ARM processors, it uses the Thumb-2 instruction set for all operations. As a result, the Cortex-M3 processor is not backward compatible with traditional 11 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 12. 12 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 13. Cortex-M3 Processor Applications: With its high performance and high code density and small silicon footprint, the Cortex M3 processor is ideal for a wide variety of applications: • Low-cost microcontrollers: The Cortex-M3 processor is ideally suited for low-cost microcontrollers, which are commonly used in consumer products, from toys to electrical appliances. Its lower power, high performance, and ease-of-use advantages enable embedded developers to migrate to 32-bit systems and develop products with the ARM architecture. • Automotive: The Cortex-M3 processor has very high-performance efficiency and low interrupt latency, allowing it to be used in real-time systems. The Cortex-M3 processor supports up to 240 external vectored interrupts, with a built- in interrupt controller with nested interrupt supports and an optional MPU, making it ideal for highly integrated and cost-sensitive automotive applications. • Data communications: The processor’s low power and high efficiency, coupled with instructions in Thumb-2 for bit-field manipulation, make the Cortex-M3 ideal for many communications applications, such as Bluetooth and ZigBee. 13 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 14. • Industrial control: In industrial control applications, simplicity, fast response, and reliability are key factors. Again, the Cortex-M3 processor’s interrupt feature, low interrupt latency, and enhanced fault-handling features make it a strong candidate in this area. • Consumer products: In many consumer products, a high-performance microprocessor (or several of them) is used. The Cortex-M3 processor, being a small processor, is highly efficient and low in power and supports an MPU enabling complex software to execute while providing robust memory protection. There are already many Cortex-M3 processor-based products on the market, including low-end products priced as low as US$1, making the cost of ARM microcontrollers comparable to or lower than that of many 8-bit microcontrollers. 14 Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56
  • 15. Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56 15 Reference • Joseph Yiu, “ The Definitive Guide to the ARM Cortex-M3”, Second Edition, Newnes, (Elsevier), 2008
  • 16. Prepared by Prof. Anand H D,Dept. of ECE, Dr. AIT, Bengaluru-56 16 Prof. Anand H. D. M. Tech. (PhD.) Assistant Professor, Department of Electronics & Communication Engineering Dr. Ambedkar Institute of Technology, Bengaluru-56 Email: [email protected] Phone: 9844518832