xilsem
Vitis Drivers API Documentation
xsem_cram_example_pl_mb.c File Reference

Overview

This file demonstrates on how to use XilSEM CRAM client interface on PL Microblaze to send commands to PLM firmware and read responses from PLM.

MODIFICATION HISTORY:
Ver   Who       Date        Changes


0.1 gupta 11/16/2022 Initial Creation 0.2 anv 10/18/2023 Added macro protection to Enable Error Injection Feature usage and Updated to get XilSEM CRAM status prints and Added Test print summary 0.3 gam 01/02/2023 Fixed IPI interrupt ID for PL MB Versal Net, changed Uncorrectable and CRC error data. Moved Error injection sequence in the end of main function to get clear prints.

Functions

int SetUpInterruptSystem (XIntc *XIntcInstancePtr)
 This function connects the IPI interrupts to the interrupt controller and to the processor. More...
 
int IntcAndIpiInit (void)
 This function initializes Interrupt Controller and IPI drivers. More...
 
int main (void)
 

Function Documentation

int IntcAndIpiInit ( void  )

This function initializes Interrupt Controller and IPI drivers.

Returns
XST_SUCCESS to indicate success, otherwise XST_FAILURE.

Initialize the interrupt controller driver so that it is ready to use.

Perform a self-test to ensure that the hardware was built correctly.

References SetUpInterruptSystem().

Referenced by main().

int main ( void  )

Initialize IPI Driver This initialization is required to get XilSEM event notifications from PLM

Initialize CRAM scan if not initialized This is applicable when CRAM Scan is set for deferred start up.

Enable event Notifications to receive notifications from PLM upon detection of any error in CFRAME

References CFRAME_MAX_TYPE, CMD_ACK_SEM_GET_CONFIG, CMD_ACK_SEM_READ_FRAME_ECC, XSemCfrStatus::ErrAddrH, XSemCfrStatus::ErrAddrL, XSemCfrStatus::ErrCorCnt, IntcAndIpiInit(), MAX_CRAMERR_REGISTER_CNT, XSemIpiResp::RespMsg1, XSemIpiResp::RespMsg2, XSemIpiResp::RespMsg3, XSemIpiResp::RespMsg4, XSemCfrStatus::Status, XSem_CmdCfrGetCrc(), XSem_CmdCfrGetStatus(), XSem_CmdCfrGetTotalFrames(), XSem_CmdCfrReadFrameEcc(), and XSem_CmdGetConfig().

int SetUpInterruptSystem ( XIntc *  XIntcInstancePtr)

This function connects the IPI interrupts to the interrupt controller and to the processor.

Parameters
Intcinstance pointer.
Returns
None.

Connect IPI interrupt handler that will be called when an interrupt for the IPI occurs, the IPI interrupt handler performs the specific interrupt processing for IPI.

Start the interrupt controller such that interrupts are enabled for all devices that cause interrupts.

References INTC_DEVICE_IPI_INT_ID.

Referenced by IntcAndIpiInit().