xilplmi
Vitis Drivers API Documentation
xplmi_configure_secure_comm_example.c File Reference

Overview

This file illustrates the configuration of secure communication between SLRs This command contains the SLR number and address of buffer which contains the IVs and key.

To build this application, xilmailbox library must be included in BSP

This example is supported for Versal devices.

Procedure to run the example.

Load the Pdi. Select the target. Download the example elf into the target.

Procedure to link and compile the example for the default ddr less designs

The default linker settings places a software stack, heap and data in DDR memory. For this example to work, any data shared between client running on A72/R5/PL and server running on PMC, should be placed in area which is accessible to both client and server.

Following is the procedure to compile the example on OCM or any memory region which can be accessed by server

  1. Open example linker script(lscript.ld) in Vitis project and section to memory mapping should be updated to point all the required sections to shared memory(OCM or TCM) using a memory region drop down selection
                                           OR
    
  1. In linker script(lscript.ld) user can add new memory section in source tab as shown below .sharedmemory : { . = ALIGN(4); __sharedmemory_start = .; *(.sharedmemory) *(.sharedmemory.*) *(.gnu.linkonce.d.*) __sharedmemory_end = .; } > versal_cips_0_pspmc_0_psv_ocm_ram_0_psv_ocm_ram_0
  2. In this example ".data" section elements that are passed by reference to the server-side should be stored in the above shared memory section. To make it happen in below example, replace ".data" in attribute section with ".sharedmemory". For example, static u8 Data attribute ((aligned (64U)) attribute ((section (".data.SsitSecCommData"))); should be changed to static u8 Data attribute ((aligned (64U)) attribute ((section (".sharedmemory.SsitSecCommData")));

To keep things simple, by default the cache is disabled for this example

MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.00 pre 07/10/24 Initial release pre 09/30/24 Added comment which says only 12bytes of IV are being used

 

Macros

#define EXAMPLE_SEEDLIFE   (3U)
 Seed life value. More...
 

Functions

int main (void)
 Main function to call the ExtractMetaheader example function. More...