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 ofps7_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
andps7_init.h
files from the hw_platform folder into the example folder. - In
xilskey_efuse_example.c
, un-comment the code that calls the ps7_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
- 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.