![]() |
xilpuf
Vitis Drivers API Documentation
|
This file illustrates encryption of red key using PUF KEY and programming the black key and helper data in a user specified location for Primary SLR0, Secondary SLR1, Secondary SLR2 and Secondary SLR3.
To build this application, xilmailbox library must be included in BSP and xilsecure, xilnvm and xilpuf must be in client mode.
This example is supported for Versal devices.
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 XPuf_DataAddr PufData __attribute__ ((aligned (64U)) __attribute__ ((section (".data.PufData")));
should be changed to
static XPuf_DataAddr PufData __attribute__ ((aligned (64U)) __attribute__ ((section (".sharedmemory.PufData")));
To keep things simple, by default the cache is disabled for this example
MODIFICATION HISTORY:
Ver Who Date Changes
2.5 hj 02/11/25 Initial release 2.5 hj 03/25/25 Remove master and slave keywords
Macros | |
| #define | XNVM_MAX_SLR_NUM (XNVM_SLR_INDEX_3) |
| Max SLR number. More... | |
| #define XNVM_MAX_SLR_NUM (XNVM_SLR_INDEX_3) |
Max SLR number.