This is the startup code provided by ARM as part of the
GCC Arm Embedded tool chain.
If you install that tool chain you will find the code for various
startup scripts and linker scripts under
./share/gcc-arm-none-eabi/samples.

This version has been modified slightly, in my environment I was
getting an error that __START was not being defined, and that
confused me (it is defined to be _start in the code.) so I commented
out that line. Once SystemInit is called, that function calls main
and then never exits.