Mbed OS Reference
Loading...
Searching...
No Matches
Instrumented Trace Macrocell HAL API

Functions

void itm_init (void)
 Target specific initialization function. More...
 
void mbed_itm_init (void)
 Initialization function for both generic registers and target specific clock and pin. More...
 
uint32_t mbed_itm_send (uint32_t port, uint32_t data)
 Send data over ITM stimulus port. More...
 
void mbed_itm_send_block (uint32_t port, const void *data, size_t len)
 Send a block of data over ITM stimulus port. More...
 

Detailed Description

Function Documentation

◆ itm_init()

void itm_init ( void  )

Target specific initialization function.

This function is responsible for initializing and configuring the debug clock for the ITM and setting up the SWO pin for debug output.

The only Cortex-M register that should be modified is the clock prescaler in TPI->ACPR.

The generic mbed_itm_init initialization function will setup:

 ITM->LAR
 ITM->TPR
 ITM->TCR
 ITM->TER
 TPI->SPPR
 TPI->FFCR
 DWT->CTRL

for SWO output on stimulus port 0.

◆ mbed_itm_init()

void mbed_itm_init ( void  )

Initialization function for both generic registers and target specific clock and pin.

◆ mbed_itm_send()

uint32_t mbed_itm_send ( uint32_t  port,
uint32_t  data 
)

Send data over ITM stimulus port.

Parameters
[in]portThe stimulus port to send data over.
[in]dataThe 32-bit data to send.

The data is written as a single 32-bit write to the port.

Returns
value of data sent.

◆ mbed_itm_send_block()

void mbed_itm_send_block ( uint32_t  port,
const void *  data,
size_t  len 
)

Send a block of data over ITM stimulus port.

Parameters
[in]portThe stimulus port to send data over.
[in]dataThe block of data to send.
[in]lenThe number of bytes of data to send.

The data is written using multiple appropriately-sized port accesses for efficient transfer.