diff --git a/bsp/stm32f4xx-HAL/Kconfig b/bsp/stm32f4xx-HAL/Kconfig index 94242ca0f0f8289ecfdb99e485cf87298d845fdd..f953d8f8cec20b76ce777417fdb2095febf4380d 100644 --- a/bsp/stm32f4xx-HAL/Kconfig +++ b/bsp/stm32f4xx-HAL/Kconfig @@ -286,6 +286,10 @@ endchoice config RT_USING_HSI bool "Using HSI as clock source" default n +config BSP_HSE_BY_PASS + bool "HES Bypass" + depends on !RT_USING_HSI + default n config RT_HSE_VALUE int "HSE Value" default 8000000 diff --git a/bsp/stm32f4xx-HAL/drivers/board.c b/bsp/stm32f4xx-HAL/drivers/board.c index b45218d942538a9398b8f68388094132c7c9cb08..3253fdda54fd5aa5002c130e4e42cd2f744fa992 100644 --- a/bsp/stm32f4xx-HAL/drivers/board.c +++ b/bsp/stm32f4xx-HAL/drivers/board.c @@ -50,7 +50,11 @@ static void SystemClock_Config(void) RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_LSI; RCC_OscInitStruct.LSIState = RCC_LSI_ON; #endif +#ifdef BSP_HSE_BY_PASS + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; +#elif !defined(RT_USING_HSI) RCC_OscInitStruct.HSEState = RCC_HSE_ON; +#endif RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; if (hse_clk % 2 == 0)