You can set compilation flags using the C/C++ settings in the Vitis FSBL project, as shown in the following figure:
Note: There is no need to change any of the FSBL source files or header files to include these flags.
Figure 1. FSBL Debug Flags
The following table lists the FSBL compilation flags.
|FSBL_DEBUG||Prints basic information and error prints, if any.|
|FSBL_DEBUG_INFO||Enables debug information in addition to the basic information.|
|FSBL_DEBUG_DETAILED||Prints information with all data exchanged.|
|FSBL_NAND_EXCLUDE||Excludes NAND support code.|
|FSBL_QSPI_EXCLUDE||Excludes QSPI support code.|
|FSBL_SD_EXCLUDE||Excludes SD support code.|
|SBL_SECURE_EXCLUDE||Excludes authentication code and encryption code but not checksum code.|
|FSBL_BS_EXCLUDE||Excludes bitstream code.|
|FSBL_EARLY_HANDOFF_EXCLUDE||Excludes early handoff related code.|
|FSBL_WDT_EXCLUDE||Excludes WDT support code.|
|FSBL_PERF_EXCLUDE_VAL||Excludes performance prints.|
|FSBL_A53_TCM_ECC_EXCLUDE_VAL||Excludes TCM ECC Init for A53.|
|FSBL_PL_CLEAR_EXCLUDE_VAL||Excludes PL clear unless boot.bin contains bitstream.|
|Excludes isolation configurations.|
|8FSBL_PARTITION_LOAD_EXCLUDE_VAL||Excluded partition loading.|
|FSBL_USB_EXCLUDE_VAL||Excludes USB code.
This is set to 1 by default.
Set this value to 0 to enable USB boot mode.
|FSBL_FORCE_ENC_EXCLUDE_VAL||Excludes forcing encryption of all partitions
when ENC_ONLY fuse is programmed. By default, this is set to 0.
FSBL forces to enable encryption for all the partitions when ENC_ONLY is programmed.
|FSBL_DDR_SR_EXCLUDE_VAL DDR||Excludes self refresh code.|
|FSBL_TPM_EXCLUDE_VAL||Excludes TPM related code.|
|FSBL_PL_LOAD_FROM_OCM_EXCLUDE_VAL||Excludes the code to load bitstream in chunks from OCM.|
|FSBL_UNPROVISIONED_AUTH_SIGN_EXCLUDE_VAL||Excludes the code to load authenticated partitions as non-secure when EFUSEs are not programmed and when boot header is not authenticated.|
See "I’m unable to build FSBL due to size issues, how can I reduce its footprint?" section in FSBL wiki page for more information.
Enabling Debug Prints
See FSBL wiki page for more information on debugging FSBL.