nRF5x Add registering bluetooth's IRQn vector by NVIC_SetVector.

pull/2943/head
Andrzej Puzdrowski 2016-10-07 12:42:33 +02:00
parent b49f85fe46
commit 00b0fafd9e
9 changed files with 51 additions and 44 deletions

View File

@ -58,10 +58,13 @@ extern "C" {
#include "nRF5xServiceDiscovery.h"
#include "nRF5xCharacteristicDescriptorDiscoverer.h"
bool isEventsSignaled = false;
extern "C" void assert_nrf_callback(uint16_t line_num, const uint8_t *p_file_name);
void app_error_handler(uint32_t error_code, uint32_t line_num, const uint8_t *p_file_name);
extern "C" void SD_EVT_IRQHandler(void); // export the softdevice event handler for registration by nvic-set-vector.
static void btle_handler(ble_evt_t *p_ble_evt);
@ -112,10 +115,14 @@ static uint32_t signalEvent()
return NRF_SUCCESS;
}
error_t btle_init(void)
{
nrf_clock_lf_cfg_t clockConfiguration;
// register softdevice hanlder vector
NVIC_SetVector(SD_EVT_IRQn, (uint32_t) SD_EVT_IRQHandler);
// Configure the LF clock according to values provided by btle_clock.h.
// It is input from the chain of the yotta configuration system.
clockConfiguration.source = LFCLK_CONF_SOURCE;

View File

@ -64,8 +64,8 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD QDEC_IRQHandler_v ;QDEC
DCD LPCOMP_IRQHandler_v ;LPCOMP_COMP
DCD SWI0_IRQHandler_v ;SWI0
DCD SWI1_IRQHandler ;SWI1
DCD SWI2_IRQHandler ;SWI2
DCD SWI1_IRQHandler_v ;SWI1
DCD SWI2_IRQHandler_v ;SWI2
DCD SWI3_IRQHandler_v ;SWI3
DCD SWI4_IRQHandler ;SWI4
DCD SWI5_IRQHandler ;SWI5
@ -152,8 +152,8 @@ Default_Handler PROC
EXPORT QDEC_IRQHandler_v [WEAK]
EXPORT LPCOMP_IRQHandler_v [WEAK]
EXPORT SWI0_IRQHandler_v [WEAK]
EXPORT SWI1_IRQHandler [WEAK]
EXPORT SWI2_IRQHandler [WEAK]
EXPORT SWI1_IRQHandler_v [WEAK]
EXPORT SWI2_IRQHandler_v [WEAK]
EXPORT SWI3_IRQHandler_v [WEAK]
EXPORT SWI4_IRQHandler [WEAK]
EXPORT SWI5_IRQHandler [WEAK]
@ -177,8 +177,8 @@ RTC1_IRQHandler_v
QDEC_IRQHandler_v
LPCOMP_IRQHandler_v
SWI0_IRQHandler_v
SWI1_IRQHandler
SWI2_IRQHandler
SWI1_IRQHandler_v
SWI2_IRQHandler_v
SWI3_IRQHandler_v
SWI4_IRQHandler
SWI5_IRQHandler

View File

@ -64,8 +64,8 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD QDEC_IRQHandler_v ;QDEC
DCD LPCOMP_COMP_IRQHandler_v ;LPCOMP_COMP
DCD SWI0_IRQHandler_v ;SWI0
DCD SWI1_IRQHandler ;SWI1
DCD SWI2_IRQHandler ;SWI2
DCD SWI1_IRQHandler_v ;SWI1
DCD SWI2_IRQHandler_v ;SWI2
DCD SWI3_IRQHandler_v ;SWI3
DCD SWI4_IRQHandler ;SWI4
DCD SWI5_IRQHandler ;SWI5
@ -158,8 +158,8 @@ Default_Handler PROC
EXPORT QDEC_IRQHandler_v [WEAK]
EXPORT LPCOMP_COMP_IRQHandler_v [WEAK]
EXPORT SWI0_IRQHandler_v [WEAK]
EXPORT SWI1_IRQHandler [WEAK]
EXPORT SWI2_IRQHandler [WEAK]
EXPORT SWI1_IRQHandler_v [WEAK]
EXPORT SWI2_IRQHandler_v [WEAK]
EXPORT SWI3_IRQHandler_v [WEAK]
EXPORT SWI4_IRQHandler [WEAK]
EXPORT SWI5_IRQHandler [WEAK]
@ -183,8 +183,8 @@ RTC1_IRQHandler_v
QDEC_IRQHandler_v
LPCOMP_COMP_IRQHandler_v
SWI0_IRQHandler_v
SWI1_IRQHandler
SWI2_IRQHandler
SWI1_IRQHandler_v
SWI2_IRQHandler_v
SWI3_IRQHandler_v
SWI4_IRQHandler
SWI5_IRQHandler

View File

@ -69,8 +69,8 @@ __vector_table
DCD QDEC_IRQHandler_v ;QDEC
DCD LPCOMP_COMP_IRQHandler_v ;LPCOMP_COMP
DCD SWI0_IRQHandler ;SWI0
DCD SWI1_IRQHandler ;SWI1
DCD SWI2_IRQHandler ;SWI2
DCD SWI1_IRQHandler_v ;SWI1
DCD SWI2_IRQHandler_v ;SWI2
DCD SWI3_IRQHandler_v ;SWI3
DCD SWI4_IRQHandler ;SWI4
DCD SWI5_IRQHandler ;SWI5
@ -215,13 +215,13 @@ LPCOMP_COMP_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI0_IRQHandler
B .
PUBWEAK SWI1_IRQHandler
PUBWEAK SWI1_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI1_IRQHandler
SWI1_IRQHandler_v
B .
PUBWEAK SWI2_IRQHandler
PUBWEAK SWI2_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI2_IRQHandler
SWI2_IRQHandler_v
B .
PUBWEAK SWI3_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)

View File

@ -69,8 +69,8 @@ __vector_table
DCD QDEC_IRQHandler_v ;QDEC
DCD LPCOMP_COMP_IRQHandler_v ;LPCOMP_COMP
DCD SWI0_IRQHandler ;SWI0
DCD SWI1_IRQHandler ;SWI1
DCD SWI2_IRQHandler ;SWI2
DCD SWI1_IRQHandler_v ;SWI1
DCD SWI2_IRQHandler_v ;SWI2
DCD SWI3_IRQHandler_v ;SWI3
DCD SWI4_IRQHandler ;SWI4
DCD SWI5_IRQHandler ;SWI5
@ -215,13 +215,13 @@ LPCOMP_COMP_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI0_IRQHandler
B .
PUBWEAK SWI1_IRQHandler
PUBWEAK SWI1_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI1_IRQHandler
SWI1_IRQHandler_v
B .
PUBWEAK SWI2_IRQHandler
PUBWEAK SWI2_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)
SWI2_IRQHandler
SWI2_IRQHandler_v
B .
PUBWEAK SWI3_IRQHandler_v
SECTION .text:CODE:REORDER:NOROOT(1)

View File

@ -109,8 +109,8 @@ __Vectors:
.long QDEC_IRQHandler_v /*QDEC */
.long LPCOMP_IRQHandler_v /*LPCOMP */
.long SWI0_IRQHandler_v /*SWI0 */
.long SWI1_IRQHandler /*SWI1 */
.long SWI2_IRQHandler /*SWI2 */
.long SWI1_IRQHandler_v /*SWI1 */
.long SWI2_IRQHandler_v /*SWI2 */
.long SWI3_IRQHandler_v /*SWI3 */
.long SWI4_IRQHandler /*SWI4 */
.long SWI5_IRQHandler /*SWI5 */
@ -256,8 +256,8 @@ Default_Handler:
IRQ QDEC_IRQHandler_v
IRQ LPCOMP_IRQHandler_v
IRQ SWI0_IRQHandler_v
IRQ SWI1_IRQHandler /* restricted for Radio Notification */
IRQ SWI2_IRQHandler /* blocked for SoftDevice Event */
IRQ SWI1_IRQHandler_v /* restricted for Radio Notification */
IRQ SWI2_IRQHandler_v /* blocked for SoftDevice Event */
IRQ SWI3_IRQHandler_v
IRQ SWI4_IRQHandler /* blocked */
IRQ SWI5_IRQHandler /* blocked */

View File

@ -76,8 +76,8 @@ __Vectors DCD __initial_sp ; Top of Stack
DCD QDEC_IRQHandler_v
DCD COMP_LPCOMP_IRQHandler_v
DCD SWI0_EGU0_IRQHandler_v
DCD SWI1_EGU1_IRQHandler
DCD SWI2_EGU2_IRQHandler
DCD SWI1_EGU1_IRQHandler_v
DCD SWI2_EGU2_IRQHandler_v
DCD SWI3_EGU3_IRQHandler_v
DCD SWI4_EGU4_IRQHandler
DCD SWI5_EGU5_IRQHandler
@ -387,8 +387,8 @@ Default_Handler PROC
EXPORT QDEC_IRQHandler_v [WEAK]
EXPORT COMP_LPCOMP_IRQHandler_v [WEAK]
EXPORT SWI0_EGU0_IRQHandler_v [WEAK]
EXPORT SWI1_EGU1_IRQHandler [WEAK]
EXPORT SWI2_EGU2_IRQHandler [WEAK]
EXPORT SWI1_EGU1_IRQHandler_v [WEAK]
EXPORT SWI2_EGU2_IRQHandler_v [WEAK]
EXPORT SWI3_EGU3_IRQHandler_v [WEAK]
EXPORT SWI4_EGU4_IRQHandler [WEAK]
EXPORT SWI5_EGU5_IRQHandler [WEAK]
@ -424,8 +424,8 @@ RTC1_IRQHandler_v
QDEC_IRQHandler_v
COMP_LPCOMP_IRQHandler_v
SWI0_EGU0_IRQHandler_v
SWI1_EGU1_IRQHandler
SWI2_EGU2_IRQHandler
SWI1_EGU1_IRQHandler_v
SWI2_EGU2_IRQHandler_v
SWI3_EGU3_IRQHandler_v
SWI4_EGU4_IRQHandler
SWI5_EGU5_IRQHandler

View File

@ -88,8 +88,8 @@ __Vectors:
.long QDEC_IRQHandler_v
.long COMP_LPCOMP_IRQHandler_v
.long SWI0_EGU0_IRQHandler_v
.long SWI1_EGU1_IRQHandler
.long SWI2_EGU2_IRQHandler
.long SWI1_EGU1_IRQHandler_v
.long SWI2_EGU2_IRQHandler_v
.long SWI3_EGU3_IRQHandler_v
.long SWI4_EGU4_IRQHandler
.long SWI5_EGU5_IRQHandler
@ -450,8 +450,8 @@ Default_Handler:
IRQ QDEC_IRQHandler_v
IRQ COMP_LPCOMP_IRQHandler_v
IRQ SWI0_EGU0_IRQHandler_v
IRQ SWI1_EGU1_IRQHandler /* restricted for Radio Notification */
IRQ SWI2_EGU2_IRQHandler /* blocked for SoftDevice Event */
IRQ SWI1_EGU1_IRQHandler_v /* restricted for Radio Notification */
IRQ SWI2_EGU2_IRQHandler_v /* blocked for SoftDevice Event */
IRQ SWI3_EGU3_IRQHandler_v
IRQ SWI4_EGU4_IRQHandler /* blocked */
IRQ SWI5_EGU5_IRQHandler /* blocked */

View File

@ -100,8 +100,8 @@ __vector_table
DCD QDEC_IRQHandler_v
DCD COMP_LPCOMP_IRQHandler_v
DCD SWI0_EGU0_IRQHandler_v
DCD SWI1_EGU1_IRQHandler
DCD SWI2_EGU2_IRQHandler
DCD SWI1_EGU1_IRQHandler_v
DCD SWI2_EGU2_IRQHandler_v
DCD SWI3_EGU3_IRQHandler_v
DCD SWI4_EGU4_IRQHandler
DCD SWI5_EGU5_IRQHandler
@ -495,14 +495,14 @@ COMP_LPCOMP_IRQHandler_v
SWI0_EGU0_IRQHandler_v
B .
PUBWEAK SWI1_EGU1_IRQHandler
PUBWEAK SWI1_EGU1_IRQHandler_v
SECTION .text:CODE:NOROOT(1)
SWI1_EGU1_IRQHandler
SWI1_EGU1_IRQHandler_v
B .
PUBWEAK SWI2_EGU2_IRQHandler
PUBWEAK SWI2_EGU2_IRQHandler_v
SECTION .text:CODE:NOROOT(1)
SWI2_EGU2_IRQHandler
SWI2_EGU2_IRQHandler_v
B .
PUBWEAK SWI3_EGU3_IRQHandler_v