This function is used to inject an error at a valid location in CRAM on targeted SLR from user application. Primarily this function sends an IPI request to PLM to perform error injection in CRAM with user provided arguments in *ErrDetail, waits for PLM to process the request and reads the response message.
Note:
- Total number of frames in a row is not same for all rows.
- XSem_CmdCfrGetTotalFrames API is provided to know the total number of frames in a row for each block. Output param (FrameCntPtr) of XSem_CmdCfrGetTotalFrames API is updated with total number of frames of each block type for the input row. If a particular block in a row has 0 frames, then error injection shall not be performed. Range of Frame number: 0 to (FrameCntPtr[n] - 1) where n is block type with range 0 to 6. ECC bits. The error injection will not change the design behaviour.
Prototype
XStatus XSem_Ssit_CmdCfrNjctErr(XIpiPsu *IpiInst, \ XSemCfrErrInjData *ErrDetail, \ XSemIpiResp *Resp, u32 TargetSlr);
Parameters
The following table lists the XSem_Ssit_CmdCfrNjctErr
function arguments.
Type | Member | Description |
---|---|---|
XIpiPsu * | IpiInst | Pointer to IPI driver instance |
\
XSemCfrErrInjData
* |
ErrDetail |
Structure Pointer with Error Injection details
|
\
XSemIpiResp
* |
Resp |
Structure Pointer of IPI response
|
u32 | TargetSlr |
Target SLR index on which command is to be executed
|
Returns
This API returns the success or failure.- XST_FAILURE: On CRAM error injection failure
- XST_SUCCESS: On CRAM error injection success