This section provides detailed descriptions of the various procedures.
Zynq eFUSE Writing Procedure Running from DDR as an Application
This sequence is same as the existing flow described below.
-
Provide the required inputs in
xilskey_input.h
, then compile the platform project. -
Take the latest FSBL (ELF), stitch the
<output>.elf
generated to it (using the bootgen utility), and generate a bootable image. - Write the generated binary image into the flash device (for example: QSPI, NAND).
- To burn the eFUSE key bits, execute the image.
Zynq eFUSE Driver Compilation Procedure for OCM
The procedure is as follows:
-
Open the linker script (
lscript.ld
) in the platform project. - Map all the sections to point to ps7_ram_0_S_AXI_BASEADDR instead of ps7_ddr_0_S_AXI_BASEADDR. For example, Click the Memory Region tab for the .text section and select ps7_ram_0_S_AXI_BASEADDR from the drop-down list.
- Copy the ps7_init.c and ps7_init.h files from the hw_platform folder into the example folder.
-
In
xilskey_efuse_example.c
, un-comment the code that calls theps7_init()
routine. -
Compile the project.
The
<Project name>.elf
file is generated and is executed out of OCM.
UltraScale eFUSE Access Procedure
The procedure is as follows:
-
After providing the required inputs in
xilskey_input.h
, compile the project. - Generate a memory mapped interface file using TCL command write_mem_info
- Update memory has to be done using the tcl command updatemem.
-
Program the board using
$Final.bit bitstream
. - Output can be seen in UART terminal.
UltraScale BBRAM Access Procedure
The procedure is as follows:
-
After providing the required inputs in the
xilskey_bbram_ultrascale_input.h
` file, compile the project. - Generate a memory mapped interface file using TCL command
- Update memory has to be done using the tcl command updatemem:
-
Program the board using
$Final.bit bitstream
. - Output can be seen in UART terminal.