add nrf52840 blehr support
This commit is contained in:
63
board/Nordic_NRF52840/BSP/Src/mcu_init.c
Normal file
63
board/Nordic_NRF52840/BSP/Src/mcu_init.c
Normal file
@@ -0,0 +1,63 @@
|
||||
#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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user