Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.241

Arm Cortex

In this topic:

Getting started

Debug features

Debug connectors

Arm Cortex Architecture Overview

 

The information provided in this chapter is intended to be used together with the CPU reference manual provided by the silicon vendor. This chapter assumes knowledge of the CPU functionality and the terminology and concepts defined and explained in the CPU reference manual. Basic knowledge of winIDEA is also necessary. This chapter deals with specifics and advanced details and it is not meant as a basic or introductory text.

 

Setup - General settings to prepare winIDEA for debug session.

Flash programming - Additional configuration settings for internal Flash programming.

Debug - Access breakpoints, virtual memory access, breakpoints Wizard.

Analyzer - Trace, Profiler and Coverage.

Knowledge Base - Specific problems solved.

 

 

Getting started

Refer to Getting started Tutorials.

 

 

Debug features

JTAG and SWD debug protocol

Hardware execution breakpoints

Unlimited software breakpoints

Hardware data access breakpoints

FLASH programming

Multi-core support

Real-time memory access

Little and big-endian support

Exception catching

Hot Attach

Stopping peripherals (e.g. TIMERs) when stopped (CPU dependent)

On-Chip Trace support

Parallel, SWO, ETB and MTB trace supported (CPU dependent)

 

 

 

Debug connectors

Not all debug protocol, trace protocol and debug connector combinations are possible. Debug Protocol is available unrelated to the used connector. Following table lists available trace protocols regarding to chosen Debug Protocol and Debug Adapter.

 

 

Debug Adapter

Arm CoreSight 20-pin

Arm CoreSight 10-pin

Arm JTAG 20-pin

 

Debug Protocol

JTAG

cJTAG

ETB

MTB

PARALLEL

ETF

ETR

ETB

MTB

ETF

ETR

ETB

MTB

ETF

ETR

SWD

SWO

ETB

MTB

PARALLEL

ETF

ETR

SWO

ETB

MTB

ETF

ETR

SWO

ETB

MTB

ETF

ETR

 

 

Arm Cortex Architecture Overview

Cortex-M CoreSight Debug and Trace Architecture

Arm CoreSight architecture allows debugging and tracing software that runs on a microcontroller or SoC. Trace data is typically captured off-chip but it can be also stored on-chip.

OFF-CHIP - Trace data is first captured and then streamed via the BlueBox to the PC:

oParallel - Streams trace data via dedicated parallel trace pins

oSWO (Single Wire Output) - Streams trace data via single trace pin

 

ON-CHIP - Trace data is recorded to the internal memory trace buffer and read through the debug interface. Buffer can be:

oETB - Embedded Trace Buffer

oMTB - Micro Trace Buffer

 

 

Cortex-M0+ Trace Architecture

Micro Trace Buffer (MTB) trace component is available on some Cortex-M0+ microcontrollers and provides a simple program trace capability. Trace data is saved to the trace buffer which is a dedicated area of the on-chip SRAM. The on-chip SRAM assigned to the MTB must not be used by the application while tracing. After trace data is saved, the BlueBox reads it out and reconstructs the program flow.

 

Limitations:

Small buffer, typically between 2kB and 8kB

No time information

No data trace

 

 

Cortex-M3/4/7/33 Trace Architecture

Cortex-M3/4/7/33 based CPUs typically contain one or more trace components:

ITM (Instrumentation Trace Macrocell) provides software instrumented trace (printf() style), timestamps for the ITM and the DWT trace messages and integrates the DWT trace messages into the trace stream.

DWT (Data Watchpoint & Trace Unit) features interrupt trace, data trace, PC sampler and ETM trigger. The DWT output is fed into the ITM.

ETM (Embedded Trace Macrocell) features program trace. ETM can act on events from the DWT. Trace capture methods supported on CortexM3/4/7/33 are:

On-Chip: ETB

Off-Chip: Parallel, SWO

 

 

Cortex-M Trace Components Overview

Cortex-M series of cores can feature different trace components. The table shows available trace components across different Cortex-M architectures.

 

Core

M0/1

M0+

M23

M3/4/7

M33

Architecture

Armv6-M

Armv6-M

Armv8-M

Armv7-M

Armv8-M

MTB


ok-arrow

ok-arrow*



DWT

ok-arrow

ok-arrow

ok-arrow

ok-arrow

ok-arrow

ETM



ok-arrow*

ok-arrow

ok-arrow

ITM




ok-arrow

ok-arrow

 

 

More resources

Arm Cortex - Microcontroller list, supported by winIDEA

Documentation from Arm

 

Copyright © 2024 TASKING Germany GmbH