text: #include "nrf_delay.h"
  #include "nrf_gpio.h"
  #include "nrf_rtc.h"
  #include "simple_uart.h"
  #include "main.h"
  
  /* for printf */
  
  #pragma import(__use_no_semihosting)
  
  struct __FILE
  {
      int handle;
  };
  
  FILE __stdout;
  
  void _sys_exit(int x)
  {
      x = x;
  }
  
  int fputc(int ch, FILE *f)
  {
      simple_uart_put ((uint8_t) ch);
      return ch;
  }
  
  void _ttywrch(int ch)
  {
  	ch = ch;
  }
  
  void SysTick_Handler(void)
  {
      tos_knl_irq_enter();
      tos_tick_handler ();
      tos_knl_irq_leave();
  }
  
  /** @brief Function starting the internal LFCLK XTAL oscillator.
   */
  static void lfclk_config(void)
  {
      NRF_CLOCK->LFCLKSRC             = (CLOCK_LFCLKSRC_SRC_Xtal << CLOCK_LFCLKSRC_SRC_Pos);
      NRF_CLOCK->EVENTS_LFCLKSTARTED  = 0;
      NRF_CLOCK->TASKS_LFCLKSTART     = 1;
  
      while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0) {
          ;
      }
  
      NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;
  }
  
  void board_init(void)
  {
      lfclk_config();
  
      nrf_gpio_range_cfg_output(LED_START, LED_STOP);
      simple_uart_config(RTS_PIN_NUMBER, TX_PIN_NUMBER, CTS_PIN_NUMBER, RX_PIN_NUMBER, HWFC);
  }
  
  