Orbcode Trace functions library
Classes | Enumerations | Functions
Trace Port Interface Unit

Configure how trace data is transmitted from MCU. More...

Classes

struct  TpiuOptions
 TPIU configuration options. More...
 

Enumerations

enum  TpiuProtocol { TpiuProtocolParallel = 0 , TpiuProtocolSwoManchester = 1 , TpiuProtocolSwoUart = 2 }
 Available trace protocols. More...
 

Functions

static void TpiuSetup (const TpiuOptions *options)
 Configure TPIU component. More...
 

Detailed Description

Configure how trace data is transmitted from MCU.

Trace Port Interface Unit (TPIU) is responsible for outputing data received from ITM and ETM using one of configured trace protocols (TpiuProtocol).

Reference: ARMv7-M Architecture Reference Manual, chapter C1.10

Enumeration Type Documentation

◆ TpiuProtocol

Available trace protocols.

Enumerator
TpiuProtocolParallel 

Parallel trace port 1-4 bits Use tool like Orbtrace to receive data. Good for transmitting lots of information (e.g. ETM trace)

TpiuProtocolSwoManchester 

Manchester encoded data Use tool like Orbtrace to receive data. Single pin, lower bandwitdh, speed automatically detected.

TpiuProtocolSwoUart 

UART (NRZ) encoded data Use any UART adapter to receive data. Single pin, easy to access, low bandwidth. Receiver baudrate must match.

Function Documentation

◆ TpiuSetup()

void TpiuSetup ( const TpiuOptions options)
inlinestatic

Configure TPIU component.

After calling this function TPIU will be configured as specified in options.

Note that there is no validation if specified configuration is valid (e.g. specified protocol is not valid) and there are no checks to verify MCU capabilities (e.g. specifing more trace bits line than supported)

Parameters
optionsTPIU configuration