Arm Cortex-M4 Processor Datasheet
Arm Cortex-M4 Processor Datasheet
Datasheet
Overview
The Cortex-M4 processor is developed to address digital signal control markets that demand
an efficient, easy-to-use blend of control and signal processing capabilities. The combination
of high-efficiency signal processing functionality with the low-power, low-cost and ease-of-
use benefits of the Cortex-M family of processors satisfies many markets. These industries
include motor control, automotive, power management, embedded audio and industrial
automation markets.
Features
Figure 1: Block diagram Feature Description
of the Cortex-M4 processor
Architecture Armv7E-M
3x AMBA AHB-Lite interface (Harvard bus architecture)
Bus Interface
AMBA ATB interface for CoreSight debug components
ISA Support Thumb/Thumb-2
Pipeline 3-stage + branch speculation
Single-cycle 16/32-bit MAC
Single-cycle dual 16-bit MAC
DSP Extension
8/16-bit SIMD arithmetic
Hardware Divide (2-12 cycles)
Optional single precision floating point unit (FPU)
Floating-Point Unit
IEEE 754 compliant
Optional 8-region MPU with sub regions
Memory Protection
and background region
Integrated Bit Field Processing Instructions
Bit Manipulation
& Bus Level Bit Banding
Interrupts Non-maskable interrupt (NMI) + 1 to 240 physical interrupts
Interrupt Priority Levels 8 to 256 priority levels
Wake-up Interrupt
Optional
Controller
Integrated WFI and WFE Instructions and Sleep On Exit capability
Sleep Modes Sleep & Deep Sleep Signals
Optional Retention Mode with Arm Power Management Kit
Optional JTAG and Serial Wire Debug ports
Debug
Up to 8 Breakpoints and 4 Watchpoints
Optional Instruction Trace (ETM), Data Trace (DWT),
Trace
and Instrumentation Trace (ITM)
1
About the Processor
The Cortex-M4 processor is a low-power processor that features low gate count,
low interrupt latency, and low-cost debug. The Cortex-M4 with FPU is a
processor with the same capability as the Cortex-M4 processor and includes
floating-point arithmetic functionality. Both processors are intended for deeply
embedded applications that require fast interrupt response features.
Block Diagram
2
Cortex-M4 Components
Processor
The Cortex-M4 processor features a low gate count processor core, with low latency
interrupt processing that has:
A subset of the Thumb instruction set, defined in the Armv7-M architecture
Automatic processor state saving and restoration for low latency Interrupt Service
Routine (ISR) entry and exit
Floating Point Unit (FPU) in the Cortex-M4 with FPU processor providing:
32-bit instructions for single-precision (C float) data-processing operations
Combined Multiply and Accumulate instructions for increased precision (Fused MAC)
Priority grouping
— This enables selection of preempting interrupt levels and non preempting
interrupt levels.
Support for tail-chaining and late arrival of interrupts
— This enables back-to-back interrupt processing without the overhead of state
saving and restoration between interrupts.
3
Processor state automatically saved on interrupt entry, and restored on interrupt exit,
with no instruction overhead
The ability to enable a background region that implements the default memory
map attributes
Debug access to all memory and registers in the system, including access to memory
mapped devices, access to internal core registers when the core is halted, and access
to debug control registers even while SYSRESETn is asserted
Serial Wire Debug Port (SW-DP) or Serial Wire JTAG Debug Port (SWJ-DP) debug
access, or both
Optional Flash Patch and Breakpoint (FPB) unit for implementing breakpoints
and code patches
Optional Data Watchpoint and Trace (DWT) unit for implementing watchpoints,
data tracing, and system profiling
Optional Instrumentation Trace Macrocell (ITM) for support of printf style debugging
Optional Trace Port Interface Unit (TPIU) for bridging to a Trace Port Analyzer (TPA),
including Single Wire Output (SWO) mode
ETM interface
The ETM interface enables simple connection of an ETM to the processor. It provides a
channel for instruction trace to the ETM.
4
Bus interfaces
Three Advanced High-performance Bus-Lite (AHB-Lite) interfaces: ICode, DCode,
and System bus interfaces
Private Peripheral Bus (PPB) based on Advanced Peripheral Bus (APB) interface
Bit-band support that includes atomic bit-band write and read operations
Cortex-M4 Pipeline
Figure 3: Cortex-M4
processor pipeline
5
Processor Configuration Options
The Cortex-M4 processor has configurable options that you can set during
the implementation and integration stages to match your functional requirements.
Feature Options
No MPU
MPU present
MPU present
No FPU
FPU present
FPU present
JTAG present Enables or disables the JTAG portion of the debug port
Clock Gate Present Specifies whether architectural clock gates are included
6
Instruction Set
Armv7-M
Armv6-M
Cortex-M0/M0+
Cortex-M3
Cortex-M4
Cortex-M7
7
Power, Performance and Area
DMIPS CoreMark/MHz
1.25 3.42
Feature Rich** 0.304 41.47 0.201 35.54 0.082 15.48 0.053 11.20
8
Additional Technical documents
1. Cortex-M4 Technical Reference Manual - TRM
2. Cortex-M4 Integration and Implementation Manual – available as part of the Bill of Materials
3. Armv7-M Architecture Reference Manual - ARM
4. CoreSight ETM-M4 Technical Reference Manual - ETM
Glossary of Terms
AHB Advanced High-performance Bus
ATB Advanced Trace Bus
C-AHB Code AHB
CTI Cross Trigger Interface
D-AHB Debug AHB
DSP Digital Signal Processing
DWT Data Watchpoint and Trace
ETM Embedded Trace Macrocell
FPU Floating Point Unit
IEEE Institute of Electrical and Electronics Engineers
ISR Interrupt Service Routine
ITM Instrumentation Trace Macrocell
JTAG Joint Test Action Group
MAC Multiply and Accumulate
MPU Memory Protection Unit
NMI Non-maskable Interrupt
NVIC Nested Vectored Interrupt Controller
PPB Private Peripheral Bus
S-AHB System AHB
SIMD Single Instruction, Multiple Data
SWO Serial Wire Output
TPA Trace Port Analyzer
TPIU Trace Port Interface Unit
WFE Wait for event
WFI Wait for interrupt
WIC Wake-up Interrupt Controller
9
Contact details
UK Europe Japan Taiwan China
[email protected] [email protected] [email protected] [email protected] [email protected]
All brand names or product names are the property of their respective holders. Neither the whole nor any part of the
information contained in, or the product described in, this document may be adapted or reproduced in any material form except with
the prior written permission of the copyright holder. The product described in this document is subject to continuous developments
and improvements. All particulars of the product and its use contained in this document are given in good faith. All warranties implied
or expressed, including but not limited to implied warranties of satisfactory quality or fitness for purpose are excluded. This document
is intended only to provide information to the reader about the product. To the extent permitted by local laws Arm shall not be liable
for any loss or damage arising from the use of any information in this document or any error or omission in such information.
10