diff --git a/bsp/n32g452xx/n32g452xx-mini-system/project.uvprojx b/bsp/n32g452xx/n32g452xx-mini-system/project.uvprojx
new file mode 100755
index 0000000000..ad92f9e539
--- /dev/null
+++ b/bsp/n32g452xx/n32g452xx-mini-system/project.uvprojx
@@ -0,0 +1,923 @@
+
+
+ 2.1
+ ### uVision Project, (C) Keil Software
+
+
+ rtthread-n32
+ 0x4
+ ARM-ADS
+ 0
+
+
+ N32G452RCL7
+ Nationstech
+ Nationstech.N32G45x_DFP.1.0.1
+ http://www.keil.com/pack/
+ IRAM(0x20000000,0x24000) IROM(0x08000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0N32G45x -FS08000000 -FL040000 -FP0($$Device:N32G452RCL7$Flash\N32G45x.FLM))
+ 0
+ $$Device:N32G452RCL7$firmware\CMSIS\device\n32g45x.h
+
+
+
+
+
+
+
+
+
+ $$Device:N32G452RCL7$svd\N32G452.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rt-thread
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ fromelf --bin !L --output rtthread.bin
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -REMAP
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 8
+ 0
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x24000
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x40000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x24000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+ N32G45X, USE_STDPERIPH_DRIVER, RT_USING_ARM_LIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND
+
+ applications;.;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\msp;..\Libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\nogcc;..\Libraries\N32_Std_Driver\CMSIS\core;..\Libraries\N32_Std_Driver\CMSIS\device;..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\inc;..\..\..\examples\utest\testcases\kernel
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+ .\board\linker_scripts\link.sct
+
+
+
+
+
+
+
+
+
+
+ Applications
+
+
+ main.c
+ 1
+ applications\main.c
+
+
+
+
+ CPU
+
+
+ div0.c
+ 1
+ ..\..\..\libcpu\arm\common\div0.c
+
+
+
+
+ backtrace.c
+ 1
+ ..\..\..\libcpu\arm\common\backtrace.c
+
+
+
+
+ showmem.c
+ 1
+ ..\..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ cpuport.c
+ 1
+ ..\..\..\libcpu\arm\cortex-m4\cpuport.c
+
+
+
+
+ context_rvds.S
+ 2
+ ..\..\..\libcpu\arm\cortex-m4\context_rvds.S
+
+
+
+
+ DeviceDrivers
+
+
+ rt_drv_pwm.c
+ 1
+ ..\..\..\components\drivers\misc\rt_drv_pwm.c
+
+
+
+
+ pin.c
+ 1
+ ..\..\..\components\drivers\misc\pin.c
+
+
+
+
+ serial.c
+ 1
+ ..\..\..\components\drivers\serial\serial.c
+
+
+
+
+ workqueue.c
+ 1
+ ..\..\..\components\drivers\src\workqueue.c
+
+
+
+
+ ringblk_buf.c
+ 1
+ ..\..\..\components\drivers\src\ringblk_buf.c
+
+
+
+
+ ringbuffer.c
+ 1
+ ..\..\..\components\drivers\src\ringbuffer.c
+
+
+
+
+ pipe.c
+ 1
+ ..\..\..\components\drivers\src\pipe.c
+
+
+
+
+ completion.c
+ 1
+ ..\..\..\components\drivers\src\completion.c
+
+
+
+
+ waitqueue.c
+ 1
+ ..\..\..\components\drivers\src\waitqueue.c
+
+
+
+
+ dataqueue.c
+ 1
+ ..\..\..\components\drivers\src\dataqueue.c
+
+
+
+
+ Drivers
+
+
+ n32_msp.c
+ 1
+ board\msp\n32_msp.c
+
+
+
+
+ board.c
+ 1
+ board\board.c
+
+
+
+
+ startup_n32g45x.s
+ 2
+ ..\Libraries\N32_Std_Driver\CMSIS\device\startup\startup_n32g45x.s
+
+
+
+
+ drv_gpio.c
+ 1
+ ..\Libraries\rt_drivers\drv_gpio.c
+
+
+
+
+ drv_usart.c
+ 1
+ ..\Libraries\rt_drivers\drv_usart.c
+
+
+
+
+ drv_common.c
+ 1
+ ..\Libraries\rt_drivers\drv_common.c
+
+
+
+
+ drv_pwm.c
+ 1
+ ..\Libraries\rt_drivers\drv_pwm.c
+
+
+
+
+ Finsh
+
+
+ shell.c
+ 1
+ ..\..\..\components\finsh\shell.c
+
+
+
+
+ msh.c
+ 1
+ ..\..\..\components\finsh\msh.c
+
+
+
+
+ Kernel
+
+
+ ipc.c
+ 1
+ ..\..\..\src\ipc.c
+
+
+
+
+ clock.c
+ 1
+ ..\..\..\src\clock.c
+
+
+
+
+ mem.c
+ 1
+ ..\..\..\src\mem.c
+
+
+
+
+ mempool.c
+ 1
+ ..\..\..\src\mempool.c
+
+
+
+
+ thread.c
+ 1
+ ..\..\..\src\thread.c
+
+
+
+
+ components.c
+ 1
+ ..\..\..\src\components.c
+
+
+
+
+ object.c
+ 1
+ ..\..\..\src\object.c
+
+
+
+
+ scheduler.c
+ 1
+ ..\..\..\src\scheduler.c
+
+
+
+
+ timer.c
+ 1
+ ..\..\..\src\timer.c
+
+
+
+
+ irq.c
+ 1
+ ..\..\..\src\irq.c
+
+
+
+
+ device.c
+ 1
+ ..\..\..\src\device.c
+
+
+
+
+ idle.c
+ 1
+ ..\..\..\src\idle.c
+
+
+
+
+ kservice.c
+ 1
+ ..\..\..\src\kservice.c
+
+
+
+
+ libc
+
+
+ mem_std.c
+ 1
+ ..\..\..\components\libc\compilers\armlibc\mem_std.c
+
+
+
+
+ libc.c
+ 1
+ ..\..\..\components\libc\compilers\armlibc\libc.c
+
+
+
+
+ syscalls.c
+ 1
+ ..\..\..\components\libc\compilers\armlibc\syscalls.c
+
+
+
+
+ time.c
+ 1
+ ..\..\..\components\libc\compilers\common\time.c
+
+
+
+
+ stdlib.c
+ 1
+ ..\..\..\components\libc\compilers\common\stdlib.c
+
+
+
+
+ Libraries
+
+
+ n32g45x_dvp.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_dvp.c
+
+
+
+
+ n32g45x_xfmc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_xfmc.c
+
+
+
+
+ n32g45x_pwr.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_pwr.c
+
+
+
+
+ n32g45x_adc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_adc.c
+
+
+
+
+ n32g45x_gpio.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_gpio.c
+
+
+
+
+ n32g45x_rcc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_rcc.c
+
+
+
+
+ n32g45x_eth.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_eth.c
+
+
+
+
+ n32g45x_flash.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_flash.c
+
+
+
+
+ n32g45x_wwdg.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_wwdg.c
+
+
+
+
+ n32g45x_tim.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_tim.c
+
+
+
+
+ n32g45x_crc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_crc.c
+
+
+
+
+ n32g45x_qspi.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_qspi.c
+
+
+
+
+ misc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\misc.c
+
+
+
+
+ n32g45x_can.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_can.c
+
+
+
+
+ n32g45x_dma.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_dma.c
+
+
+
+
+ n32g45x_sdio.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_sdio.c
+
+
+
+
+ n32g45x_tsc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_tsc.c
+
+
+
+
+ n32g45x_iwdg.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_iwdg.c
+
+
+
+
+ n32g45x_bkp.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_bkp.c
+
+
+
+
+ n32g45x_rtc.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_rtc.c
+
+
+
+
+ n32g45x_dbg.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_dbg.c
+
+
+
+
+ n32g45x_usart.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_usart.c
+
+
+
+
+ system_n32g45x.c
+ 1
+ ..\Libraries\N32_Std_Driver\CMSIS\device\system_n32g45x.c
+
+
+
+
+ n32g45x_exti.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_exti.c
+
+
+
+
+ n32g45x_opamp.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_opamp.c
+
+
+
+
+ n32g45x_comp.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_comp.c
+
+
+
+
+ n32g45x_dac.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_dac.c
+
+
+
+
+ n32g45x_spi.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_spi.c
+
+
+
+
+ n32g45x_i2c.c
+ 1
+ ..\Libraries\N32_Std_Driver\n32g45x_std_periph_driver\src\n32g45x_i2c.c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ template
+ 1
+
+
+
+
diff --git a/components/drivers/misc/rt_drv_pwm.c b/components/drivers/misc/rt_drv_pwm.c
index 04895868e2..42325587ab 100644
--- a/components/drivers/misc/rt_drv_pwm.c
+++ b/components/drivers/misc/rt_drv_pwm.c
@@ -9,6 +9,7 @@
*/
#include
+#include
#include