|
|
@@ -70,9 +70,17 @@ void board_init(void)
|
|
|
|
|
|
UART_CLK_EN();
|
|
|
|
|
|
-#if CFG_TUSB_OS == OPT_OS_NONE
|
|
|
+#if CFG_TUSB_OS == OPT_OS_NONE
|
|
|
// 1ms tick timer
|
|
|
SysTick_Config(SystemCoreClock / 1000);
|
|
|
+
|
|
|
+#elif CFG_TUSB_OS == OPT_OS_FREERTOS
|
|
|
+ // Explicitly disable systick to prevent its ISR runs before scheduler start
|
|
|
+ SysTick->CTRL &= ~1U;
|
|
|
+
|
|
|
+ // If freeRTOS is used, IRQ priority is limit by max syscall ( smaller is higher )
|
|
|
+ NVIC_SetPriority(OTG_FS_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
|
|
|
+ NVIC_SetPriority(OTG_HS_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );
|
|
|
#endif
|
|
|
|
|
|
GPIO_InitTypeDef GPIO_InitStruct;
|