Moving some function declarations
Nicer UART abstraction.
hal_preinit is useless