
Secure Boot with i.MX28 HAB Version 4, Rev. 1
Freescale Semiconductor 23
Manage the electrical fuses
The package contains executable elftosb.exe for Windows and elftosb for UNIX. See the documentation
available in the package for detailed explanation of elftosb and the image encryption and decryption
process
6 Manage the electrical fuses
6.1 Tools to blow the fuses
For programming any fuse on i.MX28, Freescale recommends using the IMX_OTP_TOOLS package
available on freescale.com, search for “IMX_OTP_TOOLS.”
The fuse programming package consists of a set of scripts, tools and relevant documentation to program
any fuse including the SRK hash and CRYPTO key fuses.
Using these tools will guarantee programming of fuses in correct byte order.
6.2 Documents available in the package
• Programming_OTP_Bits.pdf: describes various tools available for programming OTP fuses on
i.MX28.
• OTP_Burner_Documentation.pdf: describes the usage of otp_burner.py script.
6.3 List of tools available in the package
6.3.1 OTP_BURNER.PY
This is a python script to generate an otpinit.sb application that is downloaded on i.MX28 to program the
fuses. The otp_burner.py script can be run on either Windows or UNIX hosts. The inputs to the script are:
• fuses.bin file used with --srk option, fuses.bin file is the output of SRKTOOL available with CST
package. Fuses.bin contains the hash of SRK Table in binary format.
• encryption key with --key option, described in otp_burner_documentation.pdf
• input text file with --input option, described in otp_burner_documentation.pdf
See the documentation available with the IMX_OTP_TOOLS package for a detailed description on the
usage of Otp_Burner.py.
6.3.2 BITINIT.EXE
BitInit.exe is a Windows application used to download and execute the otpinit.sb file in the internal RAM
of i.MX28 when connected to PC host in USB recovery mode. The OtpInit.sb file is the output of
Otp_burner.py described above.
6.3.3 KEYGEN and KEYGEN.EXE
Keygen is used to create random encryption keys called as input OTP keys. These keys are programmed
into fuses using otp_burner.py and BitInit.exe tools.
Comentarios a estos manuales