Application Execution Modes - 2025.2 English - UG1400

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2025-11-20
Version
2025.2 English
-xl-mode-executable
This is the default mode used for compiling programs with mb-gcc. Command line for mb-gcc does not require it. This uses the startup file crt0.o.
xl-mode-bootstrap
This option is used for applications that a bootloader loads. Typically, the bootloader resides in non-volatile memory mapped to the processor reset vector. If this bootloader loads a normal executable, the application reset vector overwrites the reset vectors. In such a scenario, on a processor reset, the bootloader does not execute first to reload this application.

To prevent this, compile the bootloaded application with this compiler flag. On a processor reset, control reaches the bootloader instead of the application.

This mode uses crt2.o as a startup file. Do not use this switch on an application deployed in a scenario different from the one described above.

-xl-mode-novectors
Use this option for applications that do not require any of the MicroBlaze vectors. This is typically in standalone applications that do not use any of the processor’s reset, interrupt, or exception features. Using this switch leads to smaller code size due to the elimination of the instructions for the vectors. This mode uses crt3.o as a startup file.
Important: Do not use more than one mode of execution on the command line.