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

add handling for software configurable interrupts.

kkitayam 4 лет назад
Родитель
Сommit
511b2d47d1

+ 4 - 1
hw/bsp/rx63n/boards/rx65n_cloud_kit/board.mk

@@ -1,7 +1,10 @@
 CFLAGS += \
   -mcpu=rx64m \
   -misa=v2 \
-  -DCFG_TUSB_MCU=OPT_MCU_RX65X
+  -DCFG_TUSB_MCU=OPT_MCU_RX65X \
+  -DIR_USB0_USBI0=IR_PERIB_INTB185 \
+  -DIER_USB0_USBI0=IER_PERIB_INTB185 \
+  -DIEN_USB0_USBI0=IEN_PERIB_INTB185
 
 RX_NEWLIB ?= 1
 

+ 6 - 5
hw/bsp/rx63n/boards/rx65n_cloud_kit/rx65n_cloud_kit.c

@@ -52,10 +52,7 @@
 #define INT_Excep_SCI5_TEI5   INT_Excep_ICU_GROUPBL0
 
 #define IRQ_USB0_USBI0        62
-#define IEN_USB0_USBI0        IEN_PERIB_INTB185
-#define VECT_USB0_USBI0       VECT_PERIB_INTB185
-#define IR_USB0_USBI0         IR_PERIB_INTB185
-#define IER_USB0_USBI0        IER_PERIB_INTB185
+#define SLIBR_USBI0           SLIBR185
 #define IPR_USB0_USBI0        IPR_PERIB_INTB185
 #define INT_Excep_USB0_USBI0  INT_Excep_PERIB_INTB185
 
@@ -158,6 +155,10 @@ void INT_Excep_USB0_USBI0(void)
 
 void board_init(void)
 {
+  /* setup software configurable interrupts */
+  ICU.SLIBR_USBI0.BYTE = IRQ_USB0_USBI0;
+  ICU.SLIPRCR.BYTE     = 1;
+
 #if CFG_TUSB_OS == OPT_OS_NONE
   /* Enable CMT0 */
   SYSTEM.PRCR.WORD = SYSTEM_PRCR_PRKEY | SYSTEM_PRCR_PRC1;
@@ -216,7 +217,7 @@ void board_init(void)
   IEN(ICU,GROUPBL0)  = 1;
   EN(SCI5, TEI5)     = 1;
 
-  /* setup USBI0 interrupt. Group B edge */
+  /* setup USBI0 interrupt. */
   IR(USB0, USBI0)  = 0;
   IPR(USB0, USBI0) = IRQ_PRIORITY_USBI0;
 }