ARM Cortex-M3/M4 Processor Core Features
ARM Cortex-M3/M4 Processor Core Features
ARM Cortex-M3/M4 Processor Core Features
Core Features
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.
• Interrupt Masking
– Using interrupt masking registers BASEPRI, PRIMASK,
and FAULTMASK
Memory Map
• The Cortex-M3 has a predefined memory map.
• This allows the built-in peripherals, such as the
interrupt controller and the debug components,
to be accessed by simple memory access
instructions.
• Most system features are accessible in C program
code.
• Allows high optimization for speed and ease of
integration.
• The 4 GB memory space is divided into ranges..
Memory Map(Contd..)
The Bus Interface
• Several bus interfaces
• Code memory buses: to access code memory
region, two such buses – I-code and D-code
• System bus: to access memory and peripherals.
This provides access to the SRAM, peripherals,
external RAM, external devices, and part of the
system level memory regions.
• Private peripheral bus: provides access to a part
of the system-level memory dedicated to private
peripherals, such as debugging components
The MPU
• Optional
• Allows access rules to be set up for privileged
access and user program access
• When an access rule is violated, a fault exception
is generated, and the fault exception handler will
be able to analyze the problem and correct it, if
possible.
• MPU Usage:
– To protect data use by OS kernel and other privilege
processes
– to make memory regions read-only
Low Power and High Energy Efficiency
• Sleep mode and deep sleep mode supports
• Low gate count and design techniques reduce
circuit activities in the processor to allow active
power to be reduced
• It allows processing tasks to be completed in a
short time, so that the processor can return to
sleep modes as soon as possible to cut down
energy use
• Cortex-M3 revision 2, a new feature called
Wakeup Interrupt Controller (WIC) is available ->
suitable for many ultra-low power applications
Polling Method for Simple Applications
Polling Method with Multiple Devices
Simple Interrupt Driven Application
Application with both Polling and
Interrupt Driven
Application With RTOS
CMSIS
• The CMSIS was developed by ARM
– To allow users of the Cortex- M3/M4
microcontrollers to gain the most benefit from all
these software solutions
– To allow them to develop their embedded
application quickly and reliably
Standardized Access Interface for
Embedded Software Products
Organization of CMSIS
Using CMSIS
• For each MCU device, the MCU vendor provides a header file,
which pulls in additional header files required by the device
driver library, including the Core Peripheral Access Layer
defined by ARM
Accessing Memory-Mapped Registers in C