AM64x MCU+ SDK  08.06.00
MCRC Low-Level API

Introduction

This module contains the Low-Level APIs to program and use the MCRC module.

Functions

int32_t SDL_MCRC_getHighestPriorityIntrStatus (SDL_MCRC_InstType instance, uint32_t *pIntVecAddr)
 This API is used to get the pending interrupt with highest priority. More...
 
int32_t SDL_MCRC_dataBusTracingCtrl (SDL_MCRC_InstType instance, uint32_t ctrlFlag, SDL_MCRC_DataBusMask_t dataBusMask, SDL_MCRC_DataBusMask_t busEnableMask)
 This API is used to control the MCRC data bus tracing. More...
 
int32_t SDL_MCRC_verifyBusTracingCtrl (SDL_MCRC_InstType instance, uint32_t ctrlFlag, SDL_MCRC_DataBusMask_t dataBusMask, SDL_MCRC_DataBusMask_t busEnableMask)
 This API is used to verify the control the MCRC data bus tracing. More...
 

Macros

#define SDL_MCRC_MAX_CTRL_FLAG_VAL   (1U)
 The max value that can be passed to Bus Tracing Control APIs as the ctrlFlag value. More...
 

MCRC Interrupt priority

typedef uint32_t SDL_MCRC_IntrPriority_t
 The offset for the highest pending priority interrupt. These interrupt offset returned in SDL_MCRC_getHighestPriorityIntrStatus function. More...
 
#define SDL_MCRC_INTR_PRIORITY_CH1_FAIL   (0x1U)
 
#define SDL_MCRC_INTR_PRIORITY_CH2_FAIL   (0x2U)
 
#define SDL_MCRC_INTR_PRIORITY_CH3_FAIL   (0x3U)
 
#define SDL_MCRC_INTR_PRIORITY_CH4_FAIL   (0x4U)
 
#define SDL_MCRC_INTR_PRIORITY_CH1_COMPRESSION_DONE   (0x9U)
 
#define SDL_MCRC_INTR_PRIORITY_CH2_COMPRESSION_DONE   (0xaU)
 
#define SDL_MCRC_INTR_PRIORITY_CH3_COMPRESSION_DONE   (0xbU)
 
#define SDL_MCRC_INTR_PRIORITY_CH4_COMPRESSION_DONE   (0xcU)
 
#define SDL_MCRC_INTR_PRIORITY_CH1_OVERRUN   (0x11U)
 
#define SDL_MCRC_INTR_PRIORITY_CH2_OVERRUN   (0x12U)
 
#define SDL_MCRC_INTR_PRIORITY_CH3_OVERRUN   (0x13U)
 
#define SDL_MCRC_INTR_PRIORITY_CH4_OVERRUN   (0x14U)
 
#define SDL_MCRC_INTR_PRIORITY_CH1_UNDERRUN   (0x19U)
 
#define SDL_MCRC_INTR_PRIORITY_CH2_UNDERRUN   (0x1aU)
 
#define SDL_MCRC_INTR_PRIORITY_CH3_UNDERRUN   (0x1bU)
 
#define SDL_MCRC_INTR_PRIORITY_CH4_UNDERRUN   (0x1cU)
 
#define SDL_MCRC_INTR_PRIORITY_CH1_TIMEOUT   (0x21U)
 
#define SDL_MCRC_INTR_PRIORITY_CH2_TIMEOUT   (0x22U)
 
#define SDL_MCRC_INTR_PRIORITY_CH3_TIMEOUT   (0x23U)
 
#define SDL_MCRC_INTR_PRIORITY_CH4_TIMEOUT   (0x24U)
 

Data Bus Mask

typedef uint32_t SDL_MCRC_DataBusMask_t
 MCRC data bus type mask selected for tracing control. More...
 
#define SDL_MCRC_DATA_BUS_ITCM_MASK   (SDL_MCRC_MCRC_BUS_SEL_ITC_MEN_MASK)
 
#define SDL_MCRC_DATA_BUS_DTCM_MASK   (SDL_MCRC_MCRC_BUS_SEL_DTC_MEN_MASK)
 
#define SDL_MCRC_DATA_BUS_VBUSM_MASK   (SDL_MCRC_MCRC_BUS_SEL_MEN_MASK)
 
#define SDL_MCRC_DATA_BUS_MASK_ALL
 

Macro Definition Documentation

◆ SDL_MCRC_MAX_CTRL_FLAG_VAL

#define SDL_MCRC_MAX_CTRL_FLAG_VAL   (1U)

The max value that can be passed to Bus Tracing Control APIs as the ctrlFlag value.

◆ SDL_MCRC_INTR_PRIORITY_CH1_FAIL

#define SDL_MCRC_INTR_PRIORITY_CH1_FAIL   (0x1U)

Offset return for channel 1 fail interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH2_FAIL

#define SDL_MCRC_INTR_PRIORITY_CH2_FAIL   (0x2U)

Offset return for channel 1 fail interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH3_FAIL

#define SDL_MCRC_INTR_PRIORITY_CH3_FAIL   (0x3U)

Offset return for channel 1 fail interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH4_FAIL

#define SDL_MCRC_INTR_PRIORITY_CH4_FAIL   (0x4U)

Offset return for channel 4 fail interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH1_COMPRESSION_DONE

#define SDL_MCRC_INTR_PRIORITY_CH1_COMPRESSION_DONE   (0x9U)

Offset return for channel 1 compression done interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH2_COMPRESSION_DONE

#define SDL_MCRC_INTR_PRIORITY_CH2_COMPRESSION_DONE   (0xaU)

Offset return for channel 2 compression done interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH3_COMPRESSION_DONE

#define SDL_MCRC_INTR_PRIORITY_CH3_COMPRESSION_DONE   (0xbU)

Offset return for channel 3 compression done interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH4_COMPRESSION_DONE

#define SDL_MCRC_INTR_PRIORITY_CH4_COMPRESSION_DONE   (0xcU)

Offset return for channel 4 compression done interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH1_OVERRUN

#define SDL_MCRC_INTR_PRIORITY_CH1_OVERRUN   (0x11U)

Offset return for channel 1 overrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH2_OVERRUN

#define SDL_MCRC_INTR_PRIORITY_CH2_OVERRUN   (0x12U)

Offset return for channel 2 overrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH3_OVERRUN

#define SDL_MCRC_INTR_PRIORITY_CH3_OVERRUN   (0x13U)

Offset return for channel 3 overrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH4_OVERRUN

#define SDL_MCRC_INTR_PRIORITY_CH4_OVERRUN   (0x14U)

Offset return for channel 4 overrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH1_UNDERRUN

#define SDL_MCRC_INTR_PRIORITY_CH1_UNDERRUN   (0x19U)

Offset return for channel 1 underrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH2_UNDERRUN

#define SDL_MCRC_INTR_PRIORITY_CH2_UNDERRUN   (0x1aU)

Offset return for channel 2 underrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH3_UNDERRUN

#define SDL_MCRC_INTR_PRIORITY_CH3_UNDERRUN   (0x1bU)

Offset return for channel 3 underrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH4_UNDERRUN

#define SDL_MCRC_INTR_PRIORITY_CH4_UNDERRUN   (0x1cU)

Offset return for channel 4 underrun interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH1_TIMEOUT

#define SDL_MCRC_INTR_PRIORITY_CH1_TIMEOUT   (0x21U)

Offset return for channel 1 timeout interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH2_TIMEOUT

#define SDL_MCRC_INTR_PRIORITY_CH2_TIMEOUT   (0x22U)

Offset return for channel 2 timeout interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH3_TIMEOUT

#define SDL_MCRC_INTR_PRIORITY_CH3_TIMEOUT   (0x23U)

Offset return for channel 3 timeout interrupt

◆ SDL_MCRC_INTR_PRIORITY_CH4_TIMEOUT

#define SDL_MCRC_INTR_PRIORITY_CH4_TIMEOUT   (0x24U)

Offset return for channel 4 timeout interrupt

◆ SDL_MCRC_DATA_BUS_ITCM_MASK

#define SDL_MCRC_DATA_BUS_ITCM_MASK   (SDL_MCRC_MCRC_BUS_SEL_ITC_MEN_MASK)

Select tracing control of instruction TCM

◆ SDL_MCRC_DATA_BUS_DTCM_MASK

#define SDL_MCRC_DATA_BUS_DTCM_MASK   (SDL_MCRC_MCRC_BUS_SEL_DTC_MEN_MASK)

Select tracing control of data TCM

◆ SDL_MCRC_DATA_BUS_VBUSM_MASK

#define SDL_MCRC_DATA_BUS_VBUSM_MASK   (SDL_MCRC_MCRC_BUS_SEL_MEN_MASK)

Select tracing control of VBUSM

◆ SDL_MCRC_DATA_BUS_MASK_ALL

#define SDL_MCRC_DATA_BUS_MASK_ALL
Value:
(SDL_MCRC_MCRC_BUS_SEL_ITC_MEN_MASK | \
SDL_MCRC_MCRC_BUS_SEL_DTC_MEN_MASK | \
SDL_MCRC_MCRC_BUS_SEL_MEN_MASK)

Select tracing control of all data buses

Typedef Documentation

◆ SDL_MCRC_IntrPriority_t

typedef uint32_t SDL_MCRC_IntrPriority_t

The offset for the highest pending priority interrupt. These interrupt offset returned in SDL_MCRC_getHighestPriorityIntrStatus function.

◆ SDL_MCRC_DataBusMask_t

typedef uint32_t SDL_MCRC_DataBusMask_t

MCRC data bus type mask selected for tracing control.

Function Documentation

◆ SDL_MCRC_getHighestPriorityIntrStatus()

int32_t SDL_MCRC_getHighestPriorityIntrStatus ( SDL_MCRC_InstType  instance,
uint32_t *  pIntVecAddr 
)

This API is used to get the pending interrupt with highest priority.

Parameters
instanceMCRC instance either MCU or Main.
pIntVecAddrPointer to highest priority pending interrupt vector address defined in SDL_MCRC_IntrPriority_t
Returns
status MCRC get interrupt vector address status SDL_PASS: success SDL_EBADARGS: failure, indicate the bad input arguments

◆ SDL_MCRC_dataBusTracingCtrl()

int32_t SDL_MCRC_dataBusTracingCtrl ( SDL_MCRC_InstType  instance,
uint32_t  ctrlFlag,
SDL_MCRC_DataBusMask_t  dataBusMask,
SDL_MCRC_DataBusMask_t  busEnableMask 
)

This API is used to control the MCRC data bus tracing.


Data tracing is only available on channel 1, when it is enabled, the operation mode is automatically reset to data capture mode on channel 1

Parameters
instanceMCRC instance either MCU or Main.
ctrlFlagData bus tracing control flag. 1U: enable data tracing. 0U: disable data tracing.
dataBusMaskData bus mask bits for which what data buses are to be selected. Values given by SDL_MCRC_DataBusMask_t.
busEnableMaskData bus enable mask bits for which what data buses are to be enabled or disabled. Values given by SDL_MCRC_DataBusMask_t.
Returns
status MCRC data bus tracing control status SDL_PASS: success SDL_EBADARGS: failure, indicate the bad input arguments

◆ SDL_MCRC_verifyBusTracingCtrl()

int32_t SDL_MCRC_verifyBusTracingCtrl ( SDL_MCRC_InstType  instance,
uint32_t  ctrlFlag,
SDL_MCRC_DataBusMask_t  dataBusMask,
SDL_MCRC_DataBusMask_t  busEnableMask 
)

This API is used to verify the control the MCRC data bus tracing.

Parameters
instanceMCRC instance either MCU or Main.
ctrlFlagData bus tracing control flag. 1U: enable data tracing. 0U: disable data tracing.
dataBusMaskData bus mask bits for which what data buses are to be selected. Values given by SDL_MCRC_DataBusMask_t.
busEnableMaskData bus enable mask bits for which what data buses are to be enabled or disabled. Values given by SDL_MCRC_DataBusMask_t.
Returns
status MCRC verify data bus tracing control status SDL_PASS: success SDL_EBADARGS: failure, indicate the bad input arguments SDL_EFAIL: failure, indicate verify failed