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

nrf5x Let application decide USBD_IRQn priority

hathach 7 лет назад
Родитель
Сommit
1a84f5da54
2 измененных файлов с 3 добавлено и 4 удалено
  1. 2 0
      hw/bsp/pca10056/board_pca10056.c
  2. 1 4
      src/portable/nordic/nrf5x/hal_nrf5x.c

+ 2 - 0
hw/bsp/pca10056/board_pca10056.c

@@ -183,6 +183,8 @@ void board_init(void)
   nrfx_qspi_cinstr_xfer(&cinstr_cfg, &sr_quad_en, NULL);
 #endif
 
+  NVIC_SetPriority(USBD_IRQn, 2);
+
   // USB power may already be ready at this time -> no event generated
   // We need to invoke the handler based on the status initially
   uint32_t usb_reg;

+ 1 - 4
src/portable/nordic/nrf5x/hal_nrf5x.c

@@ -59,8 +59,6 @@
 /*------------------------------------------------------------------*/
 /* MACRO TYPEDEF CONSTANT ENUM
  *------------------------------------------------------------------*/
-#define USB_NVIC_PRIO   7
-
 void tusb_hal_nrf_power_event(uint32_t event);
 
 /*------------------------------------------------------------------*/
@@ -232,8 +230,7 @@ void tusb_hal_nrf_power_event (uint32_t event)
       NRF_USBD->INTENSET = USBD_INTEN_USBRESET_Msk | USBD_INTEN_USBEVENT_Msk | USBD_INTEN_EPDATA_Msk |
           USBD_INTEN_EP0SETUP_Msk | USBD_INTEN_EP0DATADONE_Msk | USBD_INTEN_ENDEPIN0_Msk | USBD_INTEN_ENDEPOUT0_Msk;
 
-      // Enable interrupt, Priorities 0,1,4,5 (nRF52) are reserved for SoftDevice
-      NVIC_SetPriority(USBD_IRQn, USB_NVIC_PRIO);
+      // Enable interrupt, priorities should be set by application
       NVIC_ClearPendingIRQ(USBD_IRQn);
       NVIC_EnableIRQ(USBD_IRQn);