Orbcode Trace functions library
Classes | Macros | Enumerations | Functions
itm.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  ITMOptions
 ITM configuration options. More...
 

Macros

#define ITM_ENABLE_STIMULUS_PORTS_ALL   0xFFFFFFFF
 Enable all ITM stimuls ports. More...
 

Enumerations

enum  ITMGlobalTimestampFrequency { ITMGlobalTimestampFrequencyDisabled = 0 , ITMGlobalTimestampFrequencyPosition7 = 1 , ITMGlobalTimestampFrequencyPosition13 = 2 , ITMGlobalTimestampFrequencyIfOutputFIFOEmpty = 3 }
 Global timestamp frequency. More...
 
enum  ITMLocalTimestampPrescaler { ITMLocalTimestampPrescalerNoPrescaling = 0 , ITMLocalTimestampPrescalerDivideBy4 = 1 , ITMLocalTimestampPrescalerDivideBy10 = 2 , ITMLocalTimestampPrescalerDivideBy64 = 3 }
 Local timestamp frequency. More...
 

Functions

static void ITMSetup (const ITMOptions *options)
 Configures ITM as requested. More...
 
static bool ITMIsPortEnabled (uint8_t port)
 Checks if stimulus port is enabled. More...
 
static void ITMWrite8 (uint8_t port, uint8_t c)
 Writes 8-bit value to stimulus port. More...
 
static void ITMWrite16 (uint8_t port, uint16_t value)
 Writes 16-bit value to stimulus port. More...
 
static void ITMWrite32 (uint8_t port, uint32_t value)
 Writes 32-bit value to stimulus port. More...
 
static void ITMWriteBuffer (uint8_t port, const void *buffer, size_t size)
 Writes buffer to stimulus port. More...