summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorMan, Jianting (Meco) <[email protected]>2023-06-25 21:30:21 -0400
committerGitHub <[email protected]>2023-06-26 09:30:21 +0800
commit64c1d626e2ccfe150cc4f9136c2f952dd2ff64f0 (patch)
treed94129948f9221fefd63aed6c748dbef94b737f9 /bsp
parent139d2b9fb9653da413ded430d075b552c0e52bbc (diff)
[bsp][stm32l476-nucleo] support timer 7 for RTduino (#7721)
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32/stm32l475-atk-pandora/applications/arduino_pinout/pins_arduino.h10
-rw-r--r--bsp/stm32/stm32l475-atk-pandora/board/Kconfig2
-rw-r--r--bsp/stm32/stm32l476-st-nucleo/applications/arduino_pinout/pins_arduino.h2
-rw-r--r--bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject6
-rw-r--r--bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc24
-rw-r--r--bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Src/stm32l4xx_hal_msp.c26
-rw-r--r--bsp/stm32/stm32l476-st-nucleo/board/Kconfig6
7 files changed, 49 insertions, 27 deletions
diff --git a/bsp/stm32/stm32l475-atk-pandora/applications/arduino_pinout/pins_arduino.h b/bsp/stm32/stm32l475-atk-pandora/applications/arduino_pinout/pins_arduino.h
index 098f4245be..58f6993d57 100644
--- a/bsp/stm32/stm32l475-atk-pandora/applications/arduino_pinout/pins_arduino.h
+++ b/bsp/stm32/stm32l475-atk-pandora/applications/arduino_pinout/pins_arduino.h
@@ -63,16 +63,6 @@
#define LED_BUILTIN D22 /* Default Built-in LED */
-/*
- * High accuracy timing is provided by hardware timer 7.
- * ALL of the Cortex-M CPU don't need to provide extra hardware timer.
- * RTduino will automatically use Cortex-M internal timer to provide the
- * high accuracy timing.
- * This is just an example to show how to use hardware timer to provide
- * high accuracy timing for RTduino.
- */
-#define RTDUINO_DEFAULT_HWTIMER_DEVICE_NAME "timer7"
-
/* Serial2 - PA2-TX PA3-RX */
#define RTDUINO_SERIAL2_DEVICE_NAME "uart2"
diff --git a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
index 61d4f2abfb..56a58ecbe1 100644
--- a/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
+++ b/bsp/stm32/stm32l475-atk-pandora/board/Kconfig
@@ -24,8 +24,6 @@ menu "Onboard Peripheral Drivers"
select PKG_USING_RTDUINO
select BSP_USING_STLINK_TO_USART
select BSP_USING_GPIO
- select BSP_USING_TIM
- select BSP_USING_TIM7
select BSP_USING_PWM
select BSP_USING_PWM1
select BSP_USING_PWM1_CH1
diff --git a/bsp/stm32/stm32l476-st-nucleo/applications/arduino_pinout/pins_arduino.h b/bsp/stm32/stm32l476-st-nucleo/applications/arduino_pinout/pins_arduino.h
index 68eebade8b..25108de7c3 100644
--- a/bsp/stm32/stm32l476-st-nucleo/applications/arduino_pinout/pins_arduino.h
+++ b/bsp/stm32/stm32l476-st-nucleo/applications/arduino_pinout/pins_arduino.h
@@ -43,4 +43,6 @@
/* i2c1 : PB9-SDA PB8-SCL */
#define RTDUINO_DEFAULT_IIC_BUS_NAME "i2c1"
+#define RTDUINO_TONE_HWTIMER_DEVICE_NAME "timer7"
+
#endif /* Pins_Arduino_h */
diff --git a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject
index 7de78f1c9b..bdf4763f7c 100644
--- a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject
+++ b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/.mxproject
@@ -6,12 +6,12 @@ SourceFiles=..\Src\main.c;..\Src\stm32l4xx_it.c;..\Src\stm32l4xx_hal_msp.c;F:\ST
HeaderPath=F:\STM32Cube\Repository\STM32Cube_FW_L4_V1.15.1\Drivers\STM32L4xx_HAL_Driver\Inc;F:\STM32Cube\Repository\STM32Cube_FW_L4_V1.15.1\Drivers\STM32L4xx_HAL_Driver\Inc\Legacy;F:\STM32Cube\Repository\STM32Cube_FW_L4_V1.15.1\Drivers\CMSIS\Device\ST\STM32L4xx\Include;F:\STM32Cube\Repository\STM32Cube_FW_L4_V1.15.1\Drivers\CMSIS\Include;..\Inc;
CDefines=USE_HAL_DRIVER;STM32L476xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
+[]
+SourceFiles=;;
+
[PreviousGenFiles]
HeaderPath=..\Inc
HeaderFiles=stm32l4xx_it.h;stm32l4xx_hal_conf.h;main.h;
SourcePath=..\Src
SourceFiles=stm32l4xx_it.c;stm32l4xx_hal_msp.c;main.c;
-[]
-SourceFiles=;;
-
diff --git a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
index 6813dccb99..4c20c17060 100644
--- a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
+++ b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc
@@ -16,10 +16,11 @@ Mcu.CPN=STM32L476RGT3
Mcu.Family=STM32L4
Mcu.IP0=ADC1
Mcu.IP1=LPTIM1
-Mcu.IP10=TIM15
-Mcu.IP11=TIM16
-Mcu.IP12=TIM17
-Mcu.IP13=USART2
+Mcu.IP10=TIM7
+Mcu.IP11=TIM15
+Mcu.IP12=TIM16
+Mcu.IP13=TIM17
+Mcu.IP14=USART2
Mcu.IP2=NVIC
Mcu.IP3=RCC
Mcu.IP4=RTC
@@ -28,7 +29,7 @@ Mcu.IP6=SYS
Mcu.IP7=TIM2
Mcu.IP8=TIM3
Mcu.IP9=TIM4
-Mcu.IPNb=14
+Mcu.IPNb=15
Mcu.Name=STM32L476R(C-E-G)Tx
Mcu.Package=LQFP64
Mcu.Pin0=PC14-OSC32_IN (PC14)
@@ -48,9 +49,10 @@ Mcu.Pin20=PB6
Mcu.Pin21=VP_LPTIM1_VS_LPTIM_counterModeInternalClock
Mcu.Pin22=VP_RTC_VS_RTC_Activate
Mcu.Pin23=VP_SYS_VS_Systick
-Mcu.Pin24=VP_TIM15_VS_ClockSourceINT
-Mcu.Pin25=VP_TIM16_VS_ClockSourceINT
-Mcu.Pin26=VP_TIM17_VS_ClockSourceINT
+Mcu.Pin24=VP_TIM7_VS_ClockSourceINT
+Mcu.Pin25=VP_TIM15_VS_ClockSourceINT
+Mcu.Pin26=VP_TIM16_VS_ClockSourceINT
+Mcu.Pin27=VP_TIM17_VS_ClockSourceINT
Mcu.Pin3=PC1
Mcu.Pin4=PA0
Mcu.Pin5=PA1
@@ -58,7 +60,7 @@ Mcu.Pin6=PA2
Mcu.Pin7=PA3
Mcu.Pin8=PA4
Mcu.Pin9=PA7
-Mcu.PinsNb=27
+Mcu.PinsNb=28
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32L476RGTx
@@ -147,7 +149,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART2_UART_Init-USART2-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI3_Init-SPI3-false-HAL-true,6-MX_TIM15_Init-TIM15-false-HAL-true,7-MX_TIM16_Init-TIM16-false-HAL-true,8-MX_TIM17_Init-TIM17-false-HAL-true,9-MX_ADC1_Init-ADC1-false-HAL-true,10-MX_ADC2_Init-ADC2-false-HAL-true,11-MX_ADC3_Init-ADC3-false-HAL-true,12-MX_LPTIM1_Init-LPTIM1-false-HAL-true,13-MX_TIM2_Init-TIM2-false-HAL-true,14-MX_TIM3_Init-TIM3-false-HAL-true,15-MX_TIM4_Init-TIM4-false-HAL-true
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_USART2_UART_Init-USART2-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-MX_SPI3_Init-SPI3-false-HAL-true,6-MX_TIM15_Init-TIM15-false-HAL-true,7-MX_TIM16_Init-TIM16-false-HAL-true,8-MX_TIM17_Init-TIM17-false-HAL-true,9-MX_ADC1_Init-ADC1-false-HAL-true,10-MX_LPTIM1_Init-LPTIM1-false-HAL-true,11-MX_TIM2_Init-TIM2-false-HAL-true,12-MX_TIM3_Init-TIM3-false-HAL-true,13-MX_TIM4_Init-TIM4-false-HAL-true
RCC.ADCFreq_Value=64000000
RCC.AHBFreq_Value=80000000
RCC.APB1Freq_Value=80000000
@@ -256,4 +258,6 @@ VP_TIM16_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM16_VS_ClockSourceINT.Signal=TIM16_VS_ClockSourceINT
VP_TIM17_VS_ClockSourceINT.Mode=Enable_Timer
VP_TIM17_VS_ClockSourceINT.Signal=TIM17_VS_ClockSourceINT
+VP_TIM7_VS_ClockSourceINT.Mode=Enable_Timer
+VP_TIM7_VS_ClockSourceINT.Signal=TIM7_VS_ClockSourceINT
board=custom
diff --git a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Src/stm32l4xx_hal_msp.c b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Src/stm32l4xx_hal_msp.c
index 80379970b0..df4320baf7 100644
--- a/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Src/stm32l4xx_hal_msp.c
+++ b/bsp/stm32/stm32l476-st-nucleo/board/CubeMX_Config/Src/stm32l4xx_hal_msp.c
@@ -433,7 +433,18 @@ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* htim_pwm)
*/
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
- if(htim_base->Instance==TIM15)
+ if(htim_base->Instance==TIM7)
+ {
+ /* USER CODE BEGIN TIM7_MspInit 0 */
+
+ /* USER CODE END TIM7_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM7_CLK_ENABLE();
+ /* USER CODE BEGIN TIM7_MspInit 1 */
+
+ /* USER CODE END TIM7_MspInit 1 */
+ }
+ else if(htim_base->Instance==TIM15)
{
/* USER CODE BEGIN TIM15_MspInit 0 */
@@ -619,7 +630,18 @@ void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* htim_pwm)
*/
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
{
- if(htim_base->Instance==TIM15)
+ if(htim_base->Instance==TIM7)
+ {
+ /* USER CODE BEGIN TIM7_MspDeInit 0 */
+
+ /* USER CODE END TIM7_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM7_CLK_DISABLE();
+ /* USER CODE BEGIN TIM7_MspDeInit 1 */
+
+ /* USER CODE END TIM7_MspDeInit 1 */
+ }
+ else if(htim_base->Instance==TIM15)
{
/* USER CODE BEGIN TIM15_MspDeInit 0 */
diff --git a/bsp/stm32/stm32l476-st-nucleo/board/Kconfig b/bsp/stm32/stm32l476-st-nucleo/board/Kconfig
index df4c5ec513..7c416de917 100644
--- a/bsp/stm32/stm32l476-st-nucleo/board/Kconfig
+++ b/bsp/stm32/stm32l476-st-nucleo/board/Kconfig
@@ -20,6 +20,8 @@ menu "Onboard Peripheral Drivers"
select PKG_USING_RTDUINO
select BSP_USING_STLINK_TO_USART
select BSP_USING_GPIO
+ select BSP_USING_TIM
+ select BSP_USING_TIM7
select BSP_USING_ADC
select BSP_USING_ADC1
select BSP_USING_PWM
@@ -176,6 +178,10 @@ menu "On-chip Peripheral Drivers"
default n
select RT_USING_HWTIMER
if BSP_USING_TIM
+ config BSP_USING_TIM7
+ bool "Enable TIM7"
+ default n
+
config BSP_USING_TIM15
bool "Enable TIM15"
default n