diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c b/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c index b96d9aa524872e7fc96ebedc1a61fec31b3ec178..136ab93d62542c135d340d251964319008eec31c 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c @@ -68,11 +68,11 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp) RTC_DateStruct.Year = p_tm->tm_year - 100; RTC_DateStruct.WeekDay = p_tm->tm_wday + 1; - if(HAL_RTC_SetTime(&RTC_Handler, &RTC_TimeStruct, RTC_FORMAT_BIN) != HAL_OK) + if (HAL_RTC_SetTime(&RTC_Handler, &RTC_TimeStruct, RTC_FORMAT_BIN) != HAL_OK) { return -RT_ERROR; } - if(HAL_RTC_SetDate(&RTC_Handler, &RTC_DateStruct, RTC_FORMAT_BIN) != HAL_OK) + if (HAL_RTC_SetDate(&RTC_Handler, &RTC_DateStruct, RTC_FORMAT_BIN) != HAL_OK) { return -RT_ERROR; } @@ -87,9 +87,17 @@ static void rt_rtc_init(void) __HAL_RCC_PWR_CLK_ENABLE(); RCC_OscInitTypeDef RCC_OscInitStruct = {0}; +#ifdef BSP_RTC_USING_LSI + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; + RCC_OscInitStruct.LSEState = RCC_LSE_OFF; + RCC_OscInitStruct.LSIState = RCC_LSI_ON; +#else RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; RCC_OscInitStruct.LSEState = RCC_LSE_ON; + RCC_OscInitStruct.LSIState = RCC_LSI_OFF; +#endif HAL_RCC_OscConfig(&RCC_OscInitStruct); } @@ -99,7 +107,11 @@ static rt_err_t rt_rtc_config(struct rt_device *dev) HAL_PWR_EnableBkUpAccess(); PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC; +#ifdef BSP_RTC_USING_LSI + PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; +#else PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; +#endif HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); RTC_Handler.Instance = RTC; @@ -110,13 +122,31 @@ static rt_err_t rt_rtc_config(struct rt_device *dev) #if defined(SOC_SERIES_STM32F1) RTC_Handler.Init.OutPut = RTC_OUTPUTSOURCE_NONE; RTC_Handler.Init.AsynchPrediv = RTC_AUTO_1_SECOND; -#elif defined(SOC_SERIES_STM32F0) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4) - RTC_Handler.Init.AsynchPrediv = 0X7F; -#ifndef SOC_SERIES_STM32F0 - RTC_Handler.Init.SynchPrediv = 0XFF; +#elif defined(SOC_SERIES_STM32F0) + + /* set the frequency division */ +#ifdef BSP_RTC_USING_LSI + RTC_Handler.Init.AsynchPrediv = 0XA0; + RTC_Handler.Init.SynchPrediv = 0xFA; #else + RTC_Handler.Init.AsynchPrediv = 0X7F; RTC_Handler.Init.SynchPrediv = 0x0130; -#endif +#endif /* BSP_RTC_USING_LSI */ + + RTC_Handler.Init.HourFormat = RTC_HOURFORMAT_24; + RTC_Handler.Init.OutPut = RTC_OUTPUT_DISABLE; + RTC_Handler.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; + RTC_Handler.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; +#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4) + + /* set the frequency division */ +#ifdef BSP_RTC_USING_LSI + RTC_Handler.Init.AsynchPrediv = 0X7D; +#else + RTC_Handler.Init.AsynchPrediv = 0X7F; +#endif /* BSP_RTC_USING_LSI */ + RTC_Handler.Init.SynchPrediv = 0XFF; + RTC_Handler.Init.HourFormat = RTC_HOURFORMAT_24; RTC_Handler.Init.OutPut = RTC_OUTPUT_DISABLE; RTC_Handler.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; @@ -142,7 +172,7 @@ static rt_err_t rt_rtc_control(rt_device_t dev, int cmd, void *args) break; case RT_DEVICE_CTRL_RTC_SET_TIME: - if(set_rtc_time_stamp(*(rt_uint32_t *)args)) + if (set_rtc_time_stamp(*(rt_uint32_t *)args)) { result = -RT_ERROR; } @@ -154,7 +184,7 @@ static rt_err_t rt_rtc_control(rt_device_t dev, int cmd, void *args) } #ifdef RT_USING_DEVICE_OPS -const static struct rt_device_ops rtc_ops = +const static struct rt_device_ops rtc_ops = { RT_NULL, RT_NULL, diff --git a/bsp/stm32/stm32f091-st-nucleo/README.md b/bsp/stm32/stm32f091-st-nucleo/README.md index 397dcfb9e7eac81afed5a20152dd037ebfcd19dc..5165ed6f8570a71e727c3f8971385e98df5238b6 100644 --- a/bsp/stm32/stm32f091-st-nucleo/README.md +++ b/bsp/stm32/stm32f091-st-nucleo/README.md @@ -46,7 +46,7 @@ STM32F091RC-NuCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内 | I2C | 支持 | | | TIMER | 支持 | | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | PWM | 支持 | | | FLASH | 支持 | | | IWG | 支持 | | diff --git a/bsp/stm32/stm32f091-st-nucleo/board/Kconfig b/bsp/stm32/stm32f091-st-nucleo/board/Kconfig index 4fe2365ebcf6820a2b77b978298f951ae85fc5fd..b1cb41d203197527d95176cf53cd4851ac2594da 100644 --- a/bsp/stm32/stm32f091-st-nucleo/board/Kconfig +++ b/bsp/stm32/stm32f091-st-nucleo/board/Kconfig @@ -133,11 +133,23 @@ menu "On-chip Peripheral Drivers" bool "Enable on-chip FLASH" default n - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f103-atk-nano/README.md b/bsp/stm32/stm32f103-atk-nano/README.md index e3cac7bd62d49212af2bbd34a49e5c204ba318d8..827f67ac0cdb9ab94c6d2903e862eb4ec784ec6e 100644 --- a/bsp/stm32/stm32f103-atk-nano/README.md +++ b/bsp/stm32/stm32f103-atk-nano/README.md @@ -46,7 +46,7 @@ ATK-NANO STM32F103 是正点原子推出的一款基于 ARM Cortex-M3 内核的 | UART | 支持 | UART1/2/3 | | SPI | 支持 | SPI1/2 | | I2C | 支持 | 软件 I2C | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | ADC | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | diff --git a/bsp/stm32/stm32f103-atk-nano/board/Kconfig b/bsp/stm32/stm32f103-atk-nano/board/Kconfig index 010389a3bbe4480b9df28e7429b474b9468e9830..0dfaab5960c68da5d6dedd116f874f147113f34c 100644 --- a/bsp/stm32/stm32f103-atk-nano/board/Kconfig +++ b/bsp/stm32/stm32f103-atk-nano/board/Kconfig @@ -178,11 +178,23 @@ menu "On-chip Peripheral Drivers" bool "Enable on-chip FLASH" default n - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f103-atk-warshipv3/README.md b/bsp/stm32/stm32f103-atk-warshipv3/README.md index 9eb3a0d01164ac72ec8b044944f5aa4fe763f9d1..5d2e0dce60fdd5e11b36ff62103ba212e0ad2e0e 100644 --- a/bsp/stm32/stm32f103-atk-warshipv3/README.md +++ b/bsp/stm32/stm32f103-atk-warshipv3/README.md @@ -50,7 +50,7 @@ STM32F103战舰V3,资源丰富,接口多,功能强大,性价比高,资 | SPI | 支持 | SPI1/2 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | PWM | 支持 | TIM3 CH1 TIM3 CH2 | | CAN | 支持 | | | IWG | 支持 | | diff --git a/bsp/stm32/stm32f103-atk-warshipv3/board/Kconfig b/bsp/stm32/stm32f103-atk-warshipv3/board/Kconfig index c5b7ccfd379b3e2e1c9a087eb0c483d0f4be646a..c23799f24fd859573a8a724b3949e7b971450b34 100644 --- a/bsp/stm32/stm32f103-atk-warshipv3/board/Kconfig +++ b/bsp/stm32/stm32f103-atk-warshipv3/board/Kconfig @@ -178,11 +178,23 @@ menu "On-chip Peripheral Drivers" bool "Enable on-chip FLASH" default n - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f103-fire-arbitrary/README.md b/bsp/stm32/stm32f103-fire-arbitrary/README.md index e5f91b812fdc4f5fa5c3bf36b4176abe9610a152..85d1acc1e258ecfa6dfeb6b9a93d6415cbc39dbc 100644 --- a/bsp/stm32/stm32f103-fire-arbitrary/README.md +++ b/bsp/stm32/stm32f103-fire-arbitrary/README.md @@ -54,7 +54,7 @@ | SPI | 支持 | SPI1/2/3 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | SDIO | 暂不支持 | 即将支持 | diff --git a/bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig b/bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig index 62f6ea86ce5dde5f2d43cb32c8ad745b106e6ae3..db000c4808ca988261685585fd633c84f1cb60e2 100644 --- a/bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig +++ b/bsp/stm32/stm32f103-fire-arbitrary/board/Kconfig @@ -250,11 +250,23 @@ menu "On-chip Peripheral Drivers" default n endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f103-hw100k-ibox/README.md b/bsp/stm32/stm32f103-hw100k-ibox/README.md index 0484e3610716e7843f09a767cb14734d5b26e7dc..dc7637caf62d4d308c88e8dad8fa93d0e35188af 100644 --- a/bsp/stm32/stm32f103-hw100k-ibox/README.md +++ b/bsp/stm32/stm32f103-hw100k-ibox/README.md @@ -48,7 +48,7 @@ | UART | 支持 | UART1 | | SPI | 暂不支持 | | | I2C | 支持 | 软件 I2C (J14) | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | ADC | 支持 | ADC1_CHANEL_10, ADC1_CHANNEL_11 | | PWM | 暂不支持 | | | IWG | 支持 | 命令:iwdg_sample wdt | diff --git a/bsp/stm32/stm32f103-hw100k-ibox/board/Kconfig b/bsp/stm32/stm32f103-hw100k-ibox/board/Kconfig index 4753a25654ddd44a585eb0b4546025d5a6cc5ea9..875b025bb6ca29521373da5fefb8f2a0ff0cb0f9 100644 --- a/bsp/stm32/stm32f103-hw100k-ibox/board/Kconfig +++ b/bsp/stm32/stm32f103-hw100k-ibox/board/Kconfig @@ -146,11 +146,25 @@ menu "On-chip Peripheral Drivers" bool "Enable ADC1" default n endif - config BSP_USING_ONCHIP_RTC + + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC - default n + default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif + config BSP_USING_WDT bool "Enable Watchdog Timer" select RT_USING_WDT diff --git a/bsp/stm32/stm32f407-atk-explorer/README.md b/bsp/stm32/stm32f407-atk-explorer/README.md index d7c3d208520f2eb126bed2bae2587c8d6dfb59dc..5e8432e01fb98b1616bc23040f7ab6801e313317 100644 --- a/bsp/stm32/stm32f407-atk-explorer/README.md +++ b/bsp/stm32/stm32f407-atk-explorer/README.md @@ -53,7 +53,7 @@ | SPI | 支持 | SPI1/2/3 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | PWM | 支持 | | diff --git a/bsp/stm32/stm32f407-atk-explorer/board/Kconfig b/bsp/stm32/stm32f407-atk-explorer/board/Kconfig index 5da6237062599a9c8c5c8ef3ed153af070a013d4..650ccf131ffc0dd5fcb75b1853eb514f0f87b5af 100644 --- a/bsp/stm32/stm32f407-atk-explorer/board/Kconfig +++ b/bsp/stm32/stm32f407-atk-explorer/board/Kconfig @@ -193,11 +193,23 @@ menu "On-chip Peripheral Drivers" default 25 endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f429-armfly-v6/README.md b/bsp/stm32/stm32f429-armfly-v6/README.md index 6c3fa945ca0cf872fa824f07f45ca34b49365edc..3228861c51d4476882fd6749881bf4e506a6d10b 100644 --- a/bsp/stm32/stm32f429-armfly-v6/README.md +++ b/bsp/stm32/stm32f429-armfly-v6/README.md @@ -54,7 +54,7 @@ armfly-v6 STM32F429 是安富莱推出的一款基于 ARM Cortex-M4 内核的开 | SPI | 支持 | SPI1/2/5 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | SDIO | 支持 | | diff --git a/bsp/stm32/stm32f429-armfly-v6/board/Kconfig b/bsp/stm32/stm32f429-armfly-v6/board/Kconfig index 4ecba0d5a345e1c0913aca5bf626397d7a0d2019..af025cf400cd5ddaf3f53064f167d6c5b4ebc2ce 100644 --- a/bsp/stm32/stm32f429-armfly-v6/board/Kconfig +++ b/bsp/stm32/stm32f429-armfly-v6/board/Kconfig @@ -182,11 +182,23 @@ menu "On-chip Peripheral Drivers" default n endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f429-atk-apollo/README.md b/bsp/stm32/stm32f429-atk-apollo/README.md index 318dd391448696265f09b97384ff10ce9aa4637e..3b0bfb376cff9841ae4feb21284fc59ed0981d56 100644 --- a/bsp/stm32/stm32f429-atk-apollo/README.md +++ b/bsp/stm32/stm32f429-atk-apollo/README.md @@ -54,7 +54,7 @@ | SPI | 支持 | SPI1/2/5 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | SDIO | 支持 | | diff --git a/bsp/stm32/stm32f429-atk-apollo/board/Kconfig b/bsp/stm32/stm32f429-atk-apollo/board/Kconfig index e43d9db64fba743ab6d71a5c7b83235904388846..c0d59a551279fb063a2e441252358777b5c9feec 100644 --- a/bsp/stm32/stm32f429-atk-apollo/board/Kconfig +++ b/bsp/stm32/stm32f429-atk-apollo/board/Kconfig @@ -219,11 +219,23 @@ menu "On-chip Peripheral Drivers" default n endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f429-fire-challenger/README.md b/bsp/stm32/stm32f429-fire-challenger/README.md index 9e7497d2fe264b893a02cd6d29082278104f5744..0c8d2c4044f82eae91c284c01074fd9a183c2dda 100644 --- a/bsp/stm32/stm32f429-fire-challenger/README.md +++ b/bsp/stm32/stm32f429-fire-challenger/README.md @@ -55,7 +55,7 @@ | SPI | 支持 | SPI1/2/5 | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | SDIO | 暂不支持 | 即将支持 | diff --git a/bsp/stm32/stm32f429-fire-challenger/board/Kconfig b/bsp/stm32/stm32f429-fire-challenger/board/Kconfig index f0514211da6310e061af9d5d41017746c219ea48..ea6183f4f2ee63d591d503eb37b65803cb5b719e 100644 --- a/bsp/stm32/stm32f429-fire-challenger/board/Kconfig +++ b/bsp/stm32/stm32f429-fire-challenger/board/Kconfig @@ -204,11 +204,23 @@ menu "On-chip Peripheral Drivers" default 23 endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f746-st-disco/board/Kconfig b/bsp/stm32/stm32f746-st-disco/board/Kconfig index 2f8bbead526132a16e12650f6b3e41abec199386..572cdfe02b99aa3b93de0298bcfc9cceede027da 100644 --- a/bsp/stm32/stm32f746-st-disco/board/Kconfig +++ b/bsp/stm32/stm32f746-st-disco/board/Kconfig @@ -53,6 +53,7 @@ menu "On-chip Peripheral Drivers" bool "Enable GPIO" select RT_USING_PIN default y + menuconfig BSP_USING_UART bool "Enable UART" default y @@ -67,9 +68,11 @@ menu "On-chip Peripheral Drivers" depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA default n endif + config BSP_USING_ON_CHIP_FLASH bool "Enable on-chip FLASH" default n + config BSP_USING_QSPI bool "Enable QSPI BUS" select RT_USING_QSPI diff --git a/bsp/stm32/stm32f767-atk-apollo/README.md b/bsp/stm32/stm32f767-atk-apollo/README.md index dc2080fc952a461b940cf88f210910c8aa75a47a..efec3e704b9923c3007b04ddf3042baa245a6e0c 100644 --- a/bsp/stm32/stm32f767-atk-apollo/README.md +++ b/bsp/stm32/stm32f767-atk-apollo/README.md @@ -55,7 +55,7 @@ | SPI | 支持 | | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | PWM | 支持 | | | SDIO | 支持 | | diff --git a/bsp/stm32/stm32f767-atk-apollo/board/Kconfig b/bsp/stm32/stm32f767-atk-apollo/board/Kconfig index 676fb439daa2873e9d7b536b152112cba7000546..04033b24246989b30c5307f7a57c18672b287a6a 100644 --- a/bsp/stm32/stm32f767-atk-apollo/board/Kconfig +++ b/bsp/stm32/stm32f767-atk-apollo/board/Kconfig @@ -216,11 +216,23 @@ menu "On-chip Peripheral Drivers" default 117 endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32f767-fire-challenger/README.md b/bsp/stm32/stm32f767-fire-challenger/README.md index b2779ad8e4459c8b2dd3793127db674726151803..8d5dc360c91b687046c4ba69e9d668ba41034ff9 100644 --- a/bsp/stm32/stm32f767-fire-challenger/README.md +++ b/bsp/stm32/stm32f767-fire-challenger/README.md @@ -56,7 +56,7 @@ | SPI | 支持 | SPI1/x/x | | I2C | 支持 | 软件 I2C | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) | | SDIO | 支持 | | diff --git a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig index 2e941dbb6247fa39d5e943b2a78e3bdee2f26084..c3535dc5bc04ed017e42f88a6d9634d37219a056 100644 --- a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig +++ b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig @@ -188,11 +188,23 @@ menuconfig BSP_USING_SPI default 23 endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32l432-st-nucleo/README.md b/bsp/stm32/stm32l432-st-nucleo/README.md index 77a009323282139ed84a3679eca915b946e134d9..a19724f30cea51c08b116fc04d33f775bbab3023 100644 --- a/bsp/stm32/stm32l432-st-nucleo/README.md +++ b/bsp/stm32/stm32l432-st-nucleo/README.md @@ -43,7 +43,7 @@ | UART | 支持 | UART2 | | SPI | 暂不支持 | SPI1 即将支持 | | I2C | 暂不支持 | 软件 I2C 即将支持 | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | PWM | 暂不支持 | 即将支持 | | USB Device | 暂不支持 | 即将支持 | | IWG | 支持 | 独立看门狗,未开启窗口模式 | diff --git a/bsp/stm32/stm32l432-st-nucleo/board/Kconfig b/bsp/stm32/stm32l432-st-nucleo/board/Kconfig index 47a2a2922b722ab55edecc9b6712a6a6bc322d65..e71484dcfa24bc981d842eac1304fd2ca77b0cfa 100644 --- a/bsp/stm32/stm32l432-st-nucleo/board/Kconfig +++ b/bsp/stm32/stm32l432-st-nucleo/board/Kconfig @@ -39,11 +39,23 @@ menu "On-chip Peripheral Drivers" bool "Enable on-chip FLASH" default n - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32l475-atk-pandora/README.md b/bsp/stm32/stm32l475-atk-pandora/README.md index f21e891ed233a196421e886dc89b89618b394311..20d099a3f0799dd76fceef7d0ff4c2041917ca0a 100644 --- a/bsp/stm32/stm32l475-atk-pandora/README.md +++ b/bsp/stm32/stm32l475-atk-pandora/README.md @@ -65,7 +65,7 @@ | I2C | 支持 | | | TIM | 支持 | | | ADC | 支持 | | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | PWM | 支持 | | | USB Device | 暂不支持 | 即将支持 | diff --git a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig index 28b7b0dde11ba5c4fc367c016afa735c35da16ba..1e3e00f6905265357fb1f3be59c052fe1029c8fd 100644 --- a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig +++ b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig @@ -210,11 +210,23 @@ menu "On-chip Peripheral Drivers" default n endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer" diff --git a/bsp/stm32/stm32l476-st-nucleo/README.md b/bsp/stm32/stm32l476-st-nucleo/README.md index a5443704a3f3e70e86fd38d259b407956b2e6343..cd8ad13f9c95dc6ff8c8040671c1832fe233dd99 100644 --- a/bsp/stm32/stm32l476-st-nucleo/README.md +++ b/bsp/stm32/stm32l476-st-nucleo/README.md @@ -42,7 +42,7 @@ | GPIO | 支持 | | | UART | 支持 | UART2 | | IIC | 支持 | 软件模拟 | -| RTC | 支持 | LSE 时钟源| +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | **扩展模块** | **支持情况** | **备注** | ## 使用说明 diff --git a/bsp/stm32/stm32l476-st-nucleo/board/Kconfig b/bsp/stm32/stm32l476-st-nucleo/board/Kconfig index 3e5b0ed121d189388b63274bb756f88be872b038..22ee3bb2a496ef135e89f799f95f16f7c5d24f1d 100644 --- a/bsp/stm32/stm32l476-st-nucleo/board/Kconfig +++ b/bsp/stm32/stm32l476-st-nucleo/board/Kconfig @@ -87,10 +87,23 @@ menu "On-chip Peripheral Drivers" endif endif - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC + select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif endmenu diff --git a/bsp/stm32/stm32l496-ali-developer/README.md b/bsp/stm32/stm32l496-ali-developer/README.md index ee3bc7479b75bd9d447489243eea95685400c343..d4a5d3bcccb22b4c0cc5efccb1bb005f6af77020 100644 --- a/bsp/stm32/stm32l496-ali-developer/README.md +++ b/bsp/stm32/stm32l496-ali-developer/README.md @@ -62,7 +62,7 @@ Developer Kit STM32L496 是阿里联合[诺行](http://www.notioni.com/)推出 | I2C | 支持 | 软件 I2C 2/3/4 | | TIM | 支持 | TIM15/16/17 | | ADC | 支持 | ADC1 | -| RTC | 支持 | | +| RTC | 支持 | 支持外部晶振和内部低速时钟 | | WDT | 支持 | | | PWM | 支持 | PWM3 | | USB Device | 暂不支持 | 即将支持 | diff --git a/bsp/stm32/stm32l496-ali-developer/board/Kconfig b/bsp/stm32/stm32l496-ali-developer/board/Kconfig index 7e565f453400b691f15b38fa5df467c11f0b5ecc..7b405f7a47df1579577e30dbd7becf8dd4ca7c0b 100644 --- a/bsp/stm32/stm32l496-ali-developer/board/Kconfig +++ b/bsp/stm32/stm32l496-ali-developer/board/Kconfig @@ -196,10 +196,23 @@ menu "On-chip Peripheral Drivers" default n select RT_USING_ADC - config BSP_USING_ONCHIP_RTC + menuconfig BSP_USING_ONCHIP_RTC bool "Enable RTC" select RT_USING_RTC + select RT_USING_LIBC default n + if BSP_USING_ONCHIP_RTC + choice + prompt "Select clock source" + default BSP_RTC_USING_LSE + + config BSP_RTC_USING_LSE + bool "RTC USING LSE" + + config BSP_RTC_USING_LSI + bool "RTC USING LSI" + endchoice + endif config BSP_USING_WDT bool "Enable Watchdog Timer"