Programming RSA eFUSEs

External Secure Storage Using the PUF (XAPP1333)

Document ID
XAPP1333
Release Date
2022-04-12
Revision
1.2 English

Program the RSA eFUSEs by performing the following steps:

1. Right-click on the platform.spr that is located under ZCU102_XAPP1333 platform in the Explorer view and click Open .

2. Select Board Support Package under standalone on psu_cortexa53_0 in the ZCU102_XAPP1333 platform view and click Modify BSP settings .

3. In the Board Support Package Settings window, expand the Overview tree and then click standalone , as shown in This Figure in step 2 of PUF Registration into eFUSEs .

4. Ensure the stdin and stdout functions are still mapped to psu_uart_0 and click OK .

5. In Xilinx Vitis Explorer view, on the left , right-click xilskey_efuseps_zynqmp_example_1_system and select the Build Project option. This may have already been completed if your SDK environment is set up to build automatically.

6. Power off the ZCU102 board.

7. Connect either the USB JTAG connector J2 to the ZCU102 development board and then a computer or connect the Platform JTAG to the ZCU102 and the associated hardware to a computer.

8. Connect a USB cable from the USB Serial port connector J83 on the ZCU102 board to a computer and make note of which COM port was enumerated with the Silicon Labs Quad CP2108 USB to UART Bridge: Interface 0.

9. Open a terminal program such as PuTTY or Tera Term and connect to the COM port listed above at 115,200 baud. Enable terminal logging and select a file name and location.

10. On the ZCU102 development board, set the dip switch SW6 to configure the board for JTAG boot mode as shown in This Figure .

11. Power on the ZCU102 board using switch SW1 .

12. Right-click xilskey_efuseps_zynqmp_example_1 > Run As > Launch on Hardware (Single Application Debug) .

13. The RSA eFUSE application starts running and outputs information to the terminal as shown in This Figure . An example log of the writing the RSA eFUSEs is included in the design files in the Logs folder called write_rsa_enable_log.log .

14. Verify line 15 from the output terminal matches the SHA3 output that was generated and stored in the sha3.txt file.

15. Notice that line 32 from the terminal matches the SHA3 output that was generated and stored in sha.txt file.

Line 32 confirms that RSA authentication is enabled and now required for use because this was burned into the eFUSEs.

Line 33 shows that the PPK0 eFUSE has been programmed and the PPK0 SHA3 value cannot be changed.

16. Power off the ZCU102 development board.

Figure 12: Terminal Output While Writing the RSA Settings to eFUSEs

X-Ref Target - Figure 12

3-11.png