The initialization files are distributed in both precompiled and source form with Vivado. The pre-compiled object files are found in the compiler library directory. Sources for the initialization files for the MicroBlaze GNU compiler can be found in the <XILINX_>/Vitis/<version>/data/embeddedsw/lib/microblaze/src/ directory, where <XILINX_> is the Vivado installation path and <version> is the release version of the Vitis software platform.
To fulfill a custom startup file requirement, you can take the files from the source area
and include them as a part of your application sources. Alternatively, you can assemble
the files into .o files and place them in a common area. To refer
to the newly created object files instead of the standard files, use the
directory -name command line option while invoking
To prevent the default startup files from being used, use the
-nostartfiles on the final compile line.