summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-09-30 03:14:45 +0800
committerGitHub <[email protected]>2020-09-30 03:14:45 +0800
commitc758168877bef84355905c6e80f79a5abd6b16fc (patch)
treeb23f1d0e6575184582f4e44d4c04cb8cbff01305
parente3d1ed45c6707360b2042c542bc7e9fa167c8138 (diff)
parent0051092c8158d892ecde922b1ffba8ff61cc14eb (diff)
Merge pull request #3937 from chenyingchun0312/master
同步nrf52840相关修改到nrf52832中,测试了ble 相关sample,同时测试了RTC设备,可以正常工作
-rw-r--r--bsp/nrf5x/nrf52832/board/Kconfig78
-rw-r--r--bsp/nrf5x/nrf52832/board/board.c53
-rw-r--r--bsp/nrf5x/nrf52832/board/sdk_config.h6
3 files changed, 57 insertions, 80 deletions
diff --git a/bsp/nrf5x/nrf52832/board/Kconfig b/bsp/nrf5x/nrf52832/board/Kconfig
index 41a3aa6c39..2750ceacc2 100644
--- a/bsp/nrf5x/nrf52832/board/Kconfig
+++ b/bsp/nrf5x/nrf52832/board/Kconfig
@@ -6,6 +6,16 @@ config SOC_NRF52832
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
+ config NRFX_CLOCK_ENABLED
+ int
+ default 1
+ config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY
+ int
+ default 7
+ config NRFX_CLOCK_CONFIG_LF_SRC
+ int
+ default 1
+
config SOC_NORDIC
bool
@@ -26,6 +36,11 @@ menu "On-chip Peripheral Drivers"
bool "Enable GPIO"
select RT_USING_PIN
default y
+ if BSP_USING_GPIO
+ config NRFX_GPIOTE_ENABLED
+ int
+ default 1
+ endif
config BSP_USING_SAADC
bool "Enable SAADC"
select RT_USING_ADC
@@ -140,47 +155,25 @@ menu "On-chip Peripheral Drivers"
default 16
endif
endif
- menuconfig BSP_USING_SOFTDEVICE
- bool "Enable NRF SOFTDEVICE"
- select PKG_USING_NRF5X_SDK
- select NRFX_CLOCK_ENABLED
- default n
-if BSP_USING_SOFTDEVICE
- config NRFX_CLOCK_ENABLED
- int
- default 1
- config NRFX_CLOCK_DEFAULT_CONFIG_IRQ_PRIORITY
- int
- default 7
- config NRFX_RTC_ENABLED
- int
- default 1
- config NRFX_RTC1_ENABLED
- int
- default 1
- config NRF_CLOCK_ENABLED
- int
- default 1
- config NRF_SDH_BLE_ENABLED
- int
- default 1
- config NRF_SDH_ENABLED
- int
- default 1
- config NRF_SDH_SOC_ENABLED
- int
- default 1
-endif
+
+
menuconfig BSP_USING_UART
bool "Enable UART"
default y
select RT_USING_SERIAL
if BSP_USING_UART
+ config NRFX_UART_ENABLED
+ int
+ default 1
+
config BSP_USING_UART0
bool "Enable UART0"
default y
if BSP_USING_UART0
+ config NRFX_UART0_ENABLED
+ int
+ default 1
config BSP_UART0_RX_PIN
int "uart0 rx pin number"
range 0 31
@@ -201,6 +194,9 @@ endif
default y
if BSP_USING_SPI
+ config NRFX_SPI_ENABLED
+ int
+ default 1
config BSP_USING_SPI0
bool "Enable SPI0 bus"
default y
@@ -348,4 +344,24 @@ endif
endif
endmenu
+choice
+prompt "BLE STACK"
+default BLE_STACK_USING_NULL
+help
+ Select the ble stack
+
+config BLE_STACK_USING_NULL
+ bool "not use the ble stack"
+
+config BSP_USING_SOFTDEVICE
+ select PKG_USING_NRF5X_SDK
+ bool "Nordic softdevice(perpheral)"
+
+config BSP_USING_NIMBLE
+ select PKG_USING_NIMBLE
+ select PKG_NIMBLE_BSP_NRF52840
+ bool "use nimble stack(iot)"
+endchoice
+
+
endmenu
diff --git a/bsp/nrf5x/nrf52832/board/board.c b/bsp/nrf5x/nrf52832/board/board.c
index d1e55f4c49..2ba3214bfa 100644
--- a/bsp/nrf5x/nrf52832/board/board.c
+++ b/bsp/nrf5x/nrf52832/board/board.c
@@ -14,25 +14,8 @@
#include "board.h"
#include "drv_uart.h"
-#ifdef BSP_USING_SOFTDEVICE
-#include <nrfx_rtc.h>
#include <nrfx_clock.h>
-#include "app_error.h"
-#include "nrf_drv_clock.h"
-const nrfx_rtc_t rtc = NRFX_RTC_INSTANCE(1); /**< Declaring an instance of nrf_drv_rtc for RTC0. */
-
-static void rtc_handler(nrfx_rtc_int_type_t int_type)
-{
- if (int_type == NRFX_RTC_INT_TICK)
- {
- rt_interrupt_enter();
-
- rt_tick_increase();
- rt_interrupt_leave();
- }
-}
-#else
/**
* This is the timer interrupt service routine.
*
@@ -47,36 +30,14 @@ void SysTick_Handler(void)
/* leave interrupt */
rt_interrupt_leave();
}
-#endif
-void SysTick_Configuration(void)
-{
-#ifdef BSP_USING_SOFTDEVICE
- nrf_drv_clock_init();
- nrf_drv_clock_lfclk_request(NULL);
-
- uint32_t err_code;
-#define TICK_RATE_HZ RT_TICK_PER_SECOND
-#define SYSTICK_CLOCK_HZ ( 32768UL )
-
-#define NRF_RTC_REG NRF_RTC1
- /* IRQn used by the selected RTC */
-#define NRF_RTC_IRQn RTC1_IRQn
- /* Constants required to manipulate the NVIC. */
-#define NRF_RTC_PRESCALER ( (uint32_t) (NRFX_ROUNDED_DIV(SYSTICK_CLOCK_HZ, TICK_RATE_HZ) - 1) )
- nrfx_rtc_config_t config = NRFX_RTC_DEFAULT_CONFIG;
- config.prescaler = NRF_RTC_PRESCALER;
- err_code = nrfx_rtc_init(&rtc, &config, rtc_handler);
- // APP_ERROR_CHECK(err_code);
- nrfx_rtc_tick_enable(&rtc, true);
-#define COMPARE_COUNTERTIME (3UL) /**< Get Compare event COMPARE_TIME seconds after the counter starts from 0. */
- //Set compare channel to trigger interrupt after COMPARE_COUNTERTIME seconds
- err_code = nrfx_rtc_cc_set(&rtc, 0, COMPARE_COUNTERTIME * 8, true);
- // APP_ERROR_CHECK(err_code);
+static void clk_event_handler(nrfx_clock_evt_type_t event){}
- //Power on RTC instance
- nrfx_rtc_enable(&rtc);
-#else
+void SysTick_Configuration(void)
+{
+ nrfx_clock_init(clk_event_handler);
+ nrfx_clock_enable();
+ nrfx_clock_lfclk_start();
/* Set interrupt priority */
NVIC_SetPriority(SysTick_IRQn, 0xf);
@@ -85,7 +46,7 @@ void SysTick_Configuration(void)
nrf_systick_val_clear();
nrf_systick_csr_set(NRF_SYSTICK_CSR_CLKSOURCE_CPU | NRF_SYSTICK_CSR_TICKINT_ENABLE
| NRF_SYSTICK_CSR_ENABLE);
-#endif
+
}
diff --git a/bsp/nrf5x/nrf52832/board/sdk_config.h b/bsp/nrf5x/nrf52832/board/sdk_config.h
index 82bdcf1f86..bdc0abd4a9 100644
--- a/bsp/nrf5x/nrf52832/board/sdk_config.h
+++ b/bsp/nrf5x/nrf52832/board/sdk_config.h
@@ -1899,7 +1899,7 @@
// <e> NRFX_GPIOTE_ENABLED - nrfx_gpiote - GPIOTE peripheral driver
//==========================================================
#ifndef NRFX_GPIOTE_ENABLED
-#define NRFX_GPIOTE_ENABLED 1
+#define NRFX_GPIOTE_ENABLED 0
#endif
// <o> NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS - Number of lower power input pins
#ifndef NRFX_GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS
@@ -4382,11 +4382,11 @@
// <e> NRFX_UART_ENABLED - nrfx_uart - UART peripheral driver
//==========================================================
#ifndef NRFX_UART_ENABLED
-#define NRFX_UART_ENABLED 1
+#define NRFX_UART_ENABLED 0
#endif
// <o> NRFX_UART0_ENABLED - Enable UART0 instance
#ifndef NRFX_UART0_ENABLED
-#define NRFX_UART0_ENABLED 1
+#define NRFX_UART0_ENABLED 0
#endif
// <o> NRFX_UART_DEFAULT_CONFIG_HWFC - Hardware Flow Control