Skip to content

Commit 0876c25

Browse files
authored
Merge pull request #2448 from misonyo/pwm
[bsp/stm32f411]add pwm driver
2 parents 8c230ba + c135b34 commit 0876c25

File tree

16 files changed

+492
-887
lines changed

16 files changed

+492
-887
lines changed

bsp/es32f0654/project.uvoptx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<tvExpOptDlg>0</tvExpOptDlg>
7878
<IsCurrentTarget>1</IsCurrentTarget>
7979
</OPTFL>
80-
<CpuCode>0</CpuCode>
80+
<CpuCode>255</CpuCode>
8181
<DebugOpt>
8282
<uSim>0</uSim>
8383
<uTrg>1</uTrg>
@@ -101,6 +101,8 @@
101101
<sRunDeb>0</sRunDeb>
102102
<sLrtime>0</sLrtime>
103103
<bEvRecOn>1</bEvRecOn>
104+
<bSchkAxf>0</bSchkAxf>
105+
<bTchkAxf>0</bTchkAxf>
104106
<nTsel>3</nTsel>
105107
<sDll></sDll>
106108
<sDllPa></sDllPa>
@@ -112,9 +114,14 @@
112114
<tDlgDll></tDlgDll>
113115
<tDlgPa></tDlgPa>
114116
<tIfile></tIfile>
115-
<pMon>Segger\JL2CM3.dll</pMon>
117+
<pMon>BIN\CMSIS_AGDI.dll</pMon>
116118
</DebugOpt>
117119
<TargetDriverDllRegistry>
120+
<SetRegEntry>
121+
<Number>0</Number>
122+
<Key>CMSIS_AGDI</Key>
123+
<Name>-X"" -O206 -S0 -C0 -P00 -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0ES32F065x.FLM -FS00 -FL040000 -FP0($$Device:ES32F0654LT$Flash\ES32F065x.FLM)</Name>
124+
</SetRegEntry>
118125
<SetRegEntry>
119126
<Number>0</Number>
120127
<Key>JL2CM3</Key>
@@ -165,6 +172,10 @@
165172
<pszMrule></pszMrule>
166173
<pSingCmds></pSingCmds>
167174
<pMultCmds></pMultCmds>
175+
<pMisraNamep></pMisraNamep>
176+
<pszMrulep></pszMrulep>
177+
<pSingCmdsp></pSingCmdsp>
178+
<pMultCmdsp></pMultCmdsp>
168179
</TargetOption>
169180
</Target>
170181

bsp/es32f0654/project.uvprojx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
<TargetName>rt-thread</TargetName>
88
<ToolsetNumber>0x4</ToolsetNumber>
99
<ToolsetName>ARM-ADS</ToolsetName>
10+
<uAC6>0</uAC6>
1011
<TargetOption>
1112
<TargetCommonOption>
1213
<Device>ES32F0654LT</Device>
1314
<Vendor>Eastsoft</Vendor>
14-
<PackID>Eastsoft.ES32_DFP.1.0.1</PackID>
15+
<PackID>Eastsoft.ES32_DFP.1.0.2</PackID>
1516
<PackURL>http://www.essemi.com</PackURL>
1617
<Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
1718
<FlashUtilSpec />
@@ -365,7 +366,7 @@
365366
<ScatterFile />
366367
<IncludeLibs />
367368
<IncludeLibsPath />
368-
<Misc> --keep *.o(.rti_fn.*) --keep *.o(FSymTab)</Misc>
369+
<Misc />
369370
<LinkerInputFile />
370371
<DisabledWarnings />
371372
</LDads>

bsp/es32f0654/template.uvoptx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<tvExpOptDlg>0</tvExpOptDlg>
7878
<IsCurrentTarget>1</IsCurrentTarget>
7979
</OPTFL>
80-
<CpuCode>0</CpuCode>
80+
<CpuCode>255</CpuCode>
8181
<DebugOpt>
8282
<uSim>0</uSim>
8383
<uTrg>1</uTrg>
@@ -101,6 +101,8 @@
101101
<sRunDeb>0</sRunDeb>
102102
<sLrtime>0</sLrtime>
103103
<bEvRecOn>1</bEvRecOn>
104+
<bSchkAxf>0</bSchkAxf>
105+
<bTchkAxf>0</bTchkAxf>
104106
<nTsel>3</nTsel>
105107
<sDll></sDll>
106108
<sDllPa></sDllPa>
@@ -112,9 +114,14 @@
112114
<tDlgDll></tDlgDll>
113115
<tDlgPa></tDlgPa>
114116
<tIfile></tIfile>
115-
<pMon>Segger\JL2CM3.dll</pMon>
117+
<pMon>BIN\CMSIS_AGDI.dll</pMon>
116118
</DebugOpt>
117119
<TargetDriverDllRegistry>
120+
<SetRegEntry>
121+
<Number>0</Number>
122+
<Key>CMSIS_AGDI</Key>
123+
<Name>-X"" -O206 -S0 -C0 -P00 -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0ES32F065x.FLM -FS00 -FL040000 -FP0($$Device:ES32F0654LT$Flash\ES32F065x.FLM)</Name>
124+
</SetRegEntry>
118125
<SetRegEntry>
119126
<Number>0</Number>
120127
<Key>JL2CM3</Key>
@@ -165,6 +172,10 @@
165172
<pszMrule></pszMrule>
166173
<pSingCmds></pSingCmds>
167174
<pMultCmds></pMultCmds>
175+
<pMisraNamep></pMisraNamep>
176+
<pszMrulep></pszMrulep>
177+
<pSingCmdsp></pSingCmdsp>
178+
<pMultCmdsp></pMultCmdsp>
168179
</TargetOption>
169180
</Target>
170181

bsp/es32f0654/template.uvprojx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@
1010
<TargetName>rt-thread</TargetName>
1111
<ToolsetNumber>0x4</ToolsetNumber>
1212
<ToolsetName>ARM-ADS</ToolsetName>
13+
<uAC6>0</uAC6>
1314
<TargetOption>
1415
<TargetCommonOption>
1516
<Device>ES32F0654LT</Device>
1617
<Vendor>Eastsoft</Vendor>
17-
<PackID>Eastsoft.ES32_DFP.1.0.1</PackID>
18+
<PackID>Eastsoft.ES32_DFP.1.0.2</PackID>
1819
<PackURL>http://www.essemi.com</PackURL>
1920
<Cpu>IRAM(0x20000000,0x00008000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
2021
<FlashUtilSpec></FlashUtilSpec>

bsp/stm32/stm32f411-st-nucleo/.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ CONFIG_RT_USING_DEVICE=y
6363
CONFIG_RT_USING_CONSOLE=y
6464
CONFIG_RT_CONSOLEBUF_SIZE=128
6565
CONFIG_RT_CONSOLE_DEVICE_NAME="uart2"
66-
CONFIG_RT_VER_NUM=0x40000
66+
CONFIG_RT_VER_NUM=0x40001
6767
CONFIG_ARCH_ARM=y
6868
CONFIG_ARCH_ARM_CORTEX_M=y
6969
CONFIG_ARCH_ARM_CORTEX_M4=y
@@ -113,6 +113,7 @@ CONFIG_RT_USING_DEVICE_IPC=y
113113
CONFIG_RT_PIPE_BUFSZ=512
114114
CONFIG_RT_USING_SERIAL=y
115115
# CONFIG_RT_SERIAL_USING_DMA is not set
116+
CONFIG_RT_SERIAL_RB_BUFSZ=64
116117
# CONFIG_RT_USING_CAN is not set
117118
# CONFIG_RT_USING_HWTIMER is not set
118119
# CONFIG_RT_USING_CPUTIME is not set
@@ -129,6 +130,7 @@ CONFIG_RT_USING_PIN=y
129130
# CONFIG_RT_USING_SPI is not set
130131
# CONFIG_RT_USING_WDT is not set
131132
# CONFIG_RT_USING_AUDIO is not set
133+
# CONFIG_RT_USING_SENSOR is not set
132134

133135
#
134136
# Using WiFi
@@ -313,6 +315,7 @@ CONFIG_RT_USING_PIN=y
313315
# CONFIG_PKG_USING_ZLIB is not set
314316
# CONFIG_PKG_USING_DSTR is not set
315317
# CONFIG_PKG_USING_TINYFRAME is not set
318+
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
316319

317320
#
318321
# samples: kernel and components samples
@@ -322,6 +325,7 @@ CONFIG_RT_USING_PIN=y
322325
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
323326
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
324327
# CONFIG_PKG_USING_HELLO is not set
328+
# CONFIG_PKG_USING_VI is not set
325329
CONFIG_SOC_FAMILY_STM32=y
326330
CONFIG_SOC_SERIES_STM32F4=y
327331

@@ -340,6 +344,8 @@ CONFIG_SOC_STM32F411RE=y
340344
CONFIG_BSP_USING_GPIO=y
341345
CONFIG_BSP_USING_UART=y
342346
CONFIG_BSP_USING_UART2=y
347+
# CONFIG_BSP_USING_I2C1 is not set
348+
# CONFIG_BSP_USING_PWM is not set
343349
# CONFIG_BSP_USING_ON_CHIP_FLASH is not set
344350

345351
#

bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/.mxproject

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[PreviousGenFiles]
2-
HeaderPath=D:/repository/BspFramework/rt-thread/bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Inc
2+
HeaderPath=D:/repository/rt-thread-rtt/bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Inc
33
HeaderFiles=stm32f4xx_it.h;stm32f4xx_hal_conf.h;main.h;
4-
SourcePath=D:/repository/BspFramework/rt-thread/bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Src
4+
SourcePath=D:/repository/rt-thread-rtt/bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Src
55
SourceFiles=stm32f4xx_it.c;stm32f4xx_hal_msp.c;main.c;
66

77
[PreviousLibFiles]

bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/CubeMX_Config.ioc

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,34 @@ Mcu.Family=STM32F4
55
Mcu.IP0=NVIC
66
Mcu.IP1=RCC
77
Mcu.IP2=SYS
8-
Mcu.IP3=USART2
9-
Mcu.IPNb=4
8+
Mcu.IP3=TIM3
9+
Mcu.IP4=USART2
10+
Mcu.IPNb=5
1011
Mcu.Name=STM32F411R(C-E)Tx
1112
Mcu.Package=LQFP64
1213
Mcu.Pin0=PC13-ANTI_TAMP
1314
Mcu.Pin1=PC14-OSC32_IN
14-
Mcu.Pin10=PB3
15-
Mcu.Pin11=VP_SYS_VS_Systick
15+
Mcu.Pin10=PB0
16+
Mcu.Pin11=PB1
17+
Mcu.Pin12=PA13
18+
Mcu.Pin13=PA14
19+
Mcu.Pin14=PB3
20+
Mcu.Pin15=VP_SYS_VS_Systick
21+
Mcu.Pin16=VP_TIM3_VS_ClockSourceINT
1622
Mcu.Pin2=PC15-OSC32_OUT
1723
Mcu.Pin3=PH0 - OSC_IN
1824
Mcu.Pin4=PH1 - OSC_OUT
1925
Mcu.Pin5=PA2
2026
Mcu.Pin6=PA3
2127
Mcu.Pin7=PA5
22-
Mcu.Pin8=PA13
23-
Mcu.Pin9=PA14
24-
Mcu.PinsNb=12
28+
Mcu.Pin8=PA6
29+
Mcu.Pin9=PA7
30+
Mcu.PinsNb=17
2531
Mcu.ThirdPartyNb=0
2632
Mcu.UserConstants=
2733
Mcu.UserName=STM32F411RETx
28-
MxCube.Version=5.0.0
29-
MxDb.Version=DB.5.0.0
34+
MxCube.Version=5.0.1
35+
MxDb.Version=DB.5.0.1
3036
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true
3137
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true
3238
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:true
@@ -55,6 +61,10 @@ PA5.GPIOParameters=GPIO_Label
5561
PA5.GPIO_Label=LD2 [Green Led]
5662
PA5.Locked=true
5763
PA5.Signal=GPIO_Output
64+
PA6.Signal=S_TIM3_CH1
65+
PA7.Signal=S_TIM3_CH2
66+
PB0.Signal=S_TIM3_CH3
67+
PB1.Signal=S_TIM3_CH4
5868
PB3.GPIOParameters=GPIO_Label
5969
PB3.GPIO_Label=SWO
6070
PB3.Locked=true
@@ -90,8 +100,8 @@ ProjectManager.BackupPrevious=false
90100
ProjectManager.CompilerOptimize=6
91101
ProjectManager.ComputerToolchain=false
92102
ProjectManager.CoupleFile=false
93-
ProjectManager.CustomerFirmwarePackage=..\\..\\..\\..\\..\\..\\..\\..\\board\\stm32cubefx-repo\\STM32Cube_FW_F4_V1.11.0
94-
ProjectManager.DefaultFWLocation=false
103+
ProjectManager.CustomerFirmwarePackage=
104+
ProjectManager.DefaultFWLocation=true
95105
ProjectManager.DeletePrevious=true
96106
ProjectManager.DeviceId=STM32F411RETx
97107
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.23.0
@@ -111,7 +121,7 @@ ProjectManager.StackSize=0x400
111121
ProjectManager.TargetToolchain=MDK-ARM V5
112122
ProjectManager.ToolChainLocation=
113123
ProjectManager.UnderRoot=false
114-
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
124+
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_TIM3_Init-TIM3-false-HAL-true
115125
RCC.48MHZClocksFreq_Value=42000000
116126
RCC.AHBFreq_Value=84000000
117127
RCC.APB1CLKDivider=RCC_HCLK_DIV2
@@ -147,9 +157,24 @@ RCC.VCOOutputFreq_Value=168000000
147157
RCC.VcooutputI2S=48000000
148158
SH.GPXTI13.0=GPIO_EXTI13
149159
SH.GPXTI13.ConfNb=1
160+
SH.S_TIM3_CH1.0=TIM3_CH1,PWM Generation1 CH1
161+
SH.S_TIM3_CH1.ConfNb=1
162+
SH.S_TIM3_CH2.0=TIM3_CH2,PWM Generation2 CH2
163+
SH.S_TIM3_CH2.ConfNb=1
164+
SH.S_TIM3_CH3.0=TIM3_CH3,PWM Generation3 CH3
165+
SH.S_TIM3_CH3.ConfNb=1
166+
SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4
167+
SH.S_TIM3_CH4.ConfNb=1
168+
TIM3.Channel-PWM\ Generation1\ CH1=TIM_CHANNEL_1
169+
TIM3.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
170+
TIM3.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
171+
TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
172+
TIM3.IPParameters=Channel-PWM Generation1 CH1,Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
150173
USART2.IPParameters=VirtualMode
151174
USART2.VirtualMode=VM_ASYNC
152175
VP_SYS_VS_Systick.Mode=SysTick
153176
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
177+
VP_TIM3_VS_ClockSourceINT.Mode=Internal
178+
VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT
154179
board=NUCLEO-F411RE
155180
boardIOC=true

bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Inc/main.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ extern "C" {
7070

7171
/* USER CODE END EM */
7272

73+
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
74+
7375
/* Exported functions prototypes ---------------------------------------------*/
7476
void Error_Handler(void);
7577

bsp/stm32/stm32f411-st-nucleo/board/CubeMX_Config/Inc/stm32f4xx_hal_conf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
/* #define HAL_SD_MODULE_ENABLED */
7575
/* #define HAL_MMC_MODULE_ENABLED */
7676
/* #define HAL_SPI_MODULE_ENABLED */
77-
/* #define HAL_TIM_MODULE_ENABLED */
77+
#define HAL_TIM_MODULE_ENABLED
7878
#define HAL_UART_MODULE_ENABLED
7979
/* #define HAL_USART_MODULE_ENABLED */
8080
/* #define HAL_IRDA_MODULE_ENABLED */

0 commit comments

Comments
 (0)