14.1.2.26 user_init
The user_init attribute may be applied to any non-interrupt
function with void parameter and return types. Applying this attribute will
cause default C/C++ start-up modules to call this function before the user main is executed.
There is no guarantee of ordering, so these functions cannot rely on other
user_init functions having been previously run; these functions will be called
after data initialization. A user_init may still be called by the executing
program. For example:
void __attribute__((user_init)) initialize_me(void) {
// perform initalization sequence alpha alpha beta
}