diff --git a/cpu/msp430_common/startup.c b/cpu/msp430_common/startup.c index 5a6365ac0e..8c68c0f8dc 100644 --- a/cpu/msp430_common/startup.c +++ b/cpu/msp430_common/startup.c @@ -20,7 +20,11 @@ */ #include + +#include "periph_conf.h" +#include "periph/init.h" #include "kernel_init.h" +#include "stdio_base.h" #include "irq.h" #include "log.h" @@ -28,12 +32,19 @@ extern void board_init(void); __attribute__((constructor)) static void startup(void) { - /* use putchar so the linker links it in: */ - putchar('\n'); - board_init(); - LOG_INFO("RIOT MSP430 hardware initialization complete.\n"); +#ifdef MODULE_NEWLIB + void _init(void); + _init(); +#endif + /* initialize stdio prior to periph_init() to allow use of DEBUG() there */ + stdio_init(); + /* trigger static peripheral initialization */ + periph_init(); + /* continue with kernel initialization */ kernel_init(); + + __builtin_unreachable(); }