- This is the default mode used for compiling programs with mb-gcc. This option
need not be provided on the command line for
mb-gcc. This uses the startup file crt0.o.
- This option is used for applications that are loaded using a bootloader.
Typically, the bootloader resides in non-volatile memory mapped to the processor
reset vector. If a normal executable is loaded by this bootloader, the
application reset vector overwrites the reset vector of the bootloader. In such
a scenario, on a processor reset, the bootloader does not execute first (it is
typically required to do so) to reload this application and do other
initialization as necessary.
To prevent this, you must compile the bootloaded application with this compiler flag. On a processor reset, control then reaches the bootloader instead of the application.
Using this switch on an application that is deployed in a scenario different from the one described above will not work. This mode uses crt2.o as a startup file.
- This option is used for applications that do not require any of the MicroBlaze vectors. This is typically used 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. You will receive link errors due to multiple definition of symbols if you do so.