axipmon
Vitis Drivers API Documentation
|
This file contains a design example showing how to use the driver APIs of the AXI Performance Monitor driver to measure the following metrics captured at OCM of Zynq MP:
- Write Transcation Count - Write Byte Count - Read Transcation Count - Read Byte Count
MODIFICATION HISTORY:
Ver Who Date Changes
1.00a bss 04/01/15 First release 6.5 sg 11/02/16 Updated device ID to OCM PSU APM ID ms 01/23/17 Modified xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028. 6.10 ht 06/23/23 Added support for system device-tree flow.
Functions | |
int | ApmCheck (u32 *BufferPtr, u16 Wtx, u16 Wbc, u16 Rtx, u16 Rbc) |
Checks the metrics passed to this function are same as collected by APM. More... | |
void | OcmTransaction () |
Generates write and read transcations to OCM and reads metrics captured by APM. More... | |
int | ApmMetricConfig (XAxiPmon *InstancePtr, u8 slot, u8 Metric1, u8 Metric2) |
Sets Counter 0 and Counter 1 for collecting the passed metrics. More... | |
void | ReadMetrics (XAxiPmon *InstancePtr, u32 *BufferPtr, u8 Counter1, u8 Counter2) |
Reads metrics from APM counters to buffer. More... | |
int | main (void) |
Main function that invokes the example in this file. More... | |
int ApmCheck | ( | u32 * | BufferPtr, |
u16 | Wtx, | ||
u16 | Wbc, | ||
u16 | Rtx, | ||
u16 | Rbc | ||
) |
Checks the metrics passed to this function are same as collected by APM.
BufferPtr | is pointer to buffer containing captured metrics. |
Wtx | is Write transaction count value to be checked. |
Wbc | is Write byte count value to be checked. |
Rtx | is Read transaction count value to be checked. |
Rbc | is Read byte count value to be checked. |
Referenced by main().
int ApmMetricConfig | ( | XAxiPmon * | InstancePtr, |
u8 | slot, | ||
u8 | Metric1, | ||
u8 | Metric2 | ||
) |
Sets Counter 0 and Counter 1 for collecting the passed metrics.
InstancePtr | is pointer to APM instance. |
Slot | is APM slot. |
Metric1 | is Metric to be captured by Counter 1 |
Metric2 | is Metric to be captured by Counter 2 |
References XAPM_METRIC_COUNTER_0, XAPM_METRIC_COUNTER_1, XAxiPmon_EnableMetricsCounter(), XAxiPmon_ResetGlobalClkCounter(), XAxiPmon_ResetMetricCounter(), XAxiPmon_SetMetrics(), and XAxiPmon_StartCounters().
Referenced by OcmTransaction().
int main | ( | void | ) |
Main function that invokes the example in this file.
None. |
References ApmCheck(), XAxiPmon_Config::BaseAddress, OcmTransaction(), XAxiPmon_CfgInitialize(), XAxiPmon_DisableMetricsCounter(), and XAxiPmon_LookupConfig().
void OcmTransaction | ( | ) |
Generates write and read transcations to OCM and reads metrics captured by APM.
None. |
References ApmMetricConfig(), ReadMetrics(), XAPM_METRIC_COUNTER_0, XAPM_METRIC_COUNTER_1, XAPM_METRIC_SET_0, XAPM_METRIC_SET_1, XAPM_METRIC_SET_2, and XAPM_METRIC_SET_3.
Referenced by main().
void ReadMetrics | ( | XAxiPmon * | InstancePtr, |
u32 * | BufferPtr, | ||
u8 | Counter1, | ||
u8 | Counter2 | ||
) |
Reads metrics from APM counters to buffer.
InstancePtr | is pointer to APM instance. |
BufferPtr | is pointer to buffer. |
Counter1 | is counter number. |
Counter2 | is counter number. |
References XAxiPmon_GetMetricCounter(), and XAxiPmon_StopCounters().
Referenced by OcmTransaction().