Overview
54
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
Cortex-M4F Processor
1.2.2 Integrated Configurable Debug
The Cortex-M4F processor implements a complete hardware debug solution, providing high system
visibility of the processor and memory through either a traditional JTAG port or a 2-pin Serial Wire Debug
(SWD) port that is ideal for microcontrollers and other small package devices.
For system trace, the processor integrates an Instrumentation Trace Macrocell (ITM) alongside data
watchpoints and a profiling unit. To enable simple and cost-effective profiling of the system trace events, a
Serial Wire Viewer (SWV) can export a stream of software-generated messages, data trace, and profiling
information through a single pin.
The Flash Patch and Breakpoint Unit (FPB) provides up to eight hardware breakpoint comparators that
debuggers can use.
A TPIU (Trace Port Interface Unit) acts as a bridge between the Cortex-M4F trace data from the ITM, and
an off-chip Trace analyzer.
For more information on each of these blocks, see
in Cortex-M4 Peripherals.
1.2.3 Cortex-M4F System Component Details
The Cortex-M4F includes the following system components:
•
SysTick: A 24-bit count-down timer that can be used as a Real-Time Operating System (RTOS) tick
timer or as a simple counter (see
).
•
Nested Vectored Interrupt Controller (NVIC): An embedded interrupt controller that supports low
latency interrupt processing (see
•
System Control Block (SCB): The programming model interface to the processor. The SCB provides
system implementation information and system control, including configuration, control, and reporting
of system exceptions (see
).
•
Memory Protection Unit (MPU): Improves system reliability by defining the memory attributes for
different memory regions. The MPU provides up to eight different regions and an optional predefined
background region (see
•
Floating-Point Unit (FPU): Fully supports single-precision add, subtract, multiply, divide, multiply and
accumulate, and square-root operations. It also provides conversions between fixed-point and floating-
point data formats, and floating-point constant instructions (see