Просмотр исходного кода

Merge pull request #3905 from supperthomas/supperthomas

[bsp_nrf5x] rebuild the menuconfig and ble stack config
Bernard Xiong 4 лет назад
Родитель
Сommit
a5ab12c964

+ 48 - 99
bsp/nrf5x/nrf52840/board/Kconfig

@@ -6,7 +6,17 @@ config SOC_NRF52840
     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 
     config SOC_NORDIC
@@ -63,6 +73,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
@@ -177,106 +192,7 @@ 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
-    config NRF_SDH_BLE_PERIPHERAL_LINK_COUNT
-    int 
-    default 1
-    config BLE_ADVERTISING_ENABLED
-    int 
-    default 1
-    config NRF_BLE_QWR_ENABLED
-    int 
-    default 1
-    config NRF_SDH_BLE_VS_UUID_COUNT
-    int 
-    default 1
-    config NRF_BLE_CONN_PARAMS_ENABLED
-    int 
-    default 1
-    config NRF_BLE_CONN_PARAMS_MAX_SLAVE_LATENCY_DEVIATION
-    int 
-    default 499
-    config NRF_BLE_CONN_PARAMS_MAX_SUPERVISION_TIMEOUT_DEVIATION
-    int 
-    default 65535
-    config NRF_BLE_GATT_ENABLED
-    int 
-    default 1
-
-    choice
-        prompt "sample(softdevice)"
-        default SD_BLE_APP_BEACON
-        
-        config SD_BLE_APP_BEACON
-        bool "ble_app_beacon"
-        default n
-
-        config SD_BLE_APP_BLINKY
-        bool "ble_app_blinky"
-        default n 
-        if SD_BLE_APP_BLINKY
-            config BLE_LBS_ENABLED
-            int 
-            default 1
-        endif
 
-        config SD_BLE_APP_UART
-        bool "ble_app_uart"
-        default n 
-        if SD_BLE_APP_UART
-            config BLE_NUS_ENABLED
-            int 
-            default 1
-            config NRF_SDH_BLE_GATT_MAX_MTU_SIZE
-            int 
-            default 247
-        endif
-
-        config SD_BLE_APP_HRS
-        bool "ble_app_hrs"
-        default n 
-        if SD_BLE_APP_HRS
-            config BLE_HRS_ENABLED
-            int 
-            default 1
-            config NRF_SDH_BLE_GATT_MAX_MTU_SIZE
-            int 
-            default 247
-        endif
-        config SD_BLE_APP_HIDS_MOUSE
-        bool "ble_app_hids_mouse"
-        default n 
-    endchoice
-endif
     
     menuconfig BSP_USING_UART
         bool "Enable UART"
@@ -284,10 +200,17 @@ endif
         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
@@ -308,6 +231,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
@@ -422,4 +348,27 @@ 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
+
+

+ 7 - 46
bsp/nrf5x/nrf52840/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
+
+static void clk_event_handler(nrfx_clock_evt_type_t event){}
+
 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);
-
-    //Power on RTC instance
-    nrfx_rtc_enable(&rtc);
-#else
+    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
+
 }
 
 

+ 4 - 4
bsp/nrf5x/nrf52840/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
@@ -2903,7 +2903,7 @@
 // <e> NRFX_QSPI_ENABLED - nrfx_qspi - QSPI peripheral driver
 //==========================================================
 #ifndef NRFX_QSPI_ENABLED
-#define NRFX_QSPI_ENABLED 1
+#define NRFX_QSPI_ENABLED 0
 #endif
 // <o> NRFX_QSPI_CONFIG_SCK_DELAY - tSHSL, tWHSL and tSHWL in number of 16 MHz periods (62.5 ns).  <0-255> 
 
@@ -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