diff --git a/bsp/stm32f0x/project.uvprojx b/bsp/stm32f0x/project.uvprojx
new file mode 100644
index 0000000000..543bdd6922
--- /dev/null
+++ b/bsp/stm32f0x/project.uvprojx
@@ -0,0 +1,797 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+
+
+ STM32F051R8
+ STMicroelectronics
+ Keil.STM32F0xx_DFP.1.2.0
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x10000) IRAM(0x20000000,0x2000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F051R8$Flash\STM32F0xx_64.FLM))
+ 0
+ $$Device:STM32F051R8$Device\Include\stm32f0xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F051R8$SVD\STM32F0xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F0xx\
+ ST\STM32F0xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ template
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+
+ DARMCM1.DLL
+ -pCM0
+ SARMCM3.DLL
+
+ TARMCM1.DLL
+ -pCM0
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+
+ 0
+ 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4104
+
+ 1
+ STLink\ST-LINKIII-KEIL_SWO.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-M0"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 3
+ 3
+ 0
+ 1
+ 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
+ 0x2000
+
+
+ 1
+ 0x8000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x10000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x2000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER
+
+ .;..\..\components\drivers\include;..\..\components\finsh;..\..\components\init;..\..\components\libc\armlibc;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m0;Libraries\CMSIS\Include;Libraries\CMSIS\ST\STM32F0xx\Include;Libraries\STM32F0xx_StdPeriph_Driver\inc;applications;drivers
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+ --keep __fsym_* --keep __vsym_* --keep __rt_init*
+
+
+
+
+
+
+
+ Applications
+
+
+ application.c
+ 1
+ applications\application.c
+
+
+ startup.c
+ 1
+ applications\startup.c
+
+
+
+
+ Drivers
+
+
+ board.c
+ 1
+ drivers\board.c
+
+
+ led.c
+ 1
+ drivers\led.c
+
+
+ stm32f0xx_it.c
+ 1
+ drivers\stm32f0xx_it.c
+
+
+ usart.c
+ 1
+ drivers\usart.c
+
+
+
+
+ STM32_StdPeriph
+
+
+ system_stm32f0xx.c
+ 1
+ Libraries\CMSIS\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c
+
+
+ stm32f0xx_adc.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_adc.c
+
+
+ stm32f0xx_cec.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_cec.c
+
+
+ stm32f0xx_comp.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_comp.c
+
+
+ stm32f0xx_crc.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crc.c
+
+
+ stm32f0xx_dac.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dac.c
+
+
+ stm32f0xx_dbgmcu.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dbgmcu.c
+
+
+ stm32f0xx_dma.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dma.c
+
+
+ stm32f0xx_exti.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c
+
+
+ stm32f0xx_flash.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_flash.c
+
+
+ stm32f0xx_gpio.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c
+
+
+ stm32f0xx_i2c.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_i2c.c
+
+
+ stm32f0xx_iwdg.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_iwdg.c
+
+
+ stm32f0xx_misc.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c
+
+
+ stm32f0xx_pwr.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_pwr.c
+
+
+ stm32f0xx_rcc.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c
+
+
+ stm32f0xx_rtc.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rtc.c
+
+
+ stm32f0xx_spi.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c
+
+
+ stm32f0xx_syscfg.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c
+
+
+ stm32f0xx_tim.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c
+
+
+ stm32f0xx_usart.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c
+
+
+ stm32f0xx_wwdg.c
+ 1
+ Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_wwdg.c
+
+
+ startup_stm32f0xx.s
+ 2
+ Libraries\CMSIS\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s
+
+
+
+
+ Kernel
+
+
+ clock.c
+ 1
+ ..\..\src\clock.c
+
+
+ device.c
+ 1
+ ..\..\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\src\mem.c
+
+
+ object.c
+ 1
+ ..\..\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\src\scheduler.c
+
+
+ thread.c
+ 1
+ ..\..\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\src\timer.c
+
+
+
+
+ CORTEX-M0
+
+
+ cpuport.c
+ 1
+ ..\..\libcpu\arm\cortex-m0\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\libcpu\arm\cortex-m0\context_rvds.S
+
+
+ backtrace.c
+ 1
+ ..\..\libcpu\arm\common\backtrace.c
+
+
+ div0.c
+ 1
+ ..\..\libcpu\arm\common\div0.c
+
+
+ showmem.c
+ 1
+ ..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ DeviceDrivers
+
+
+ serial.c
+ 1
+ ..\..\components\drivers\serial\serial.c
+
+
+ completion.c
+ 1
+ ..\..\components\drivers\src\completion.c
+
+
+ dataqueue.c
+ 1
+ ..\..\components\drivers\src\dataqueue.c
+
+
+ pipe.c
+ 1
+ ..\..\components\drivers\src\pipe.c
+
+
+ portal.c
+ 1
+ ..\..\components\drivers\src\portal.c
+
+
+ ringbuffer.c
+ 1
+ ..\..\components\drivers\src\ringbuffer.c
+
+
+ workqueue.c
+ 1
+ ..\..\components\drivers\src\workqueue.c
+
+
+
+
+ finsh
+
+
+ shell.c
+ 1
+ ..\..\components\finsh\shell.c
+
+
+ symbol.c
+ 1
+ ..\..\components\finsh\symbol.c
+
+
+ cmd.c
+ 1
+ ..\..\components\finsh\cmd.c
+
+
+ finsh_compiler.c
+ 1
+ ..\..\components\finsh\finsh_compiler.c
+
+
+ finsh_error.c
+ 1
+ ..\..\components\finsh\finsh_error.c
+
+
+ finsh_heap.c
+ 1
+ ..\..\components\finsh\finsh_heap.c
+
+
+ finsh_init.c
+ 1
+ ..\..\components\finsh\finsh_init.c
+
+
+ finsh_node.c
+ 1
+ ..\..\components\finsh\finsh_node.c
+
+
+ finsh_ops.c
+ 1
+ ..\..\components\finsh\finsh_ops.c
+
+
+ finsh_parser.c
+ 1
+ ..\..\components\finsh\finsh_parser.c
+
+
+ finsh_var.c
+ 1
+ ..\..\components\finsh\finsh_var.c
+
+
+ finsh_vm.c
+ 1
+ ..\..\components\finsh\finsh_vm.c
+
+
+ finsh_token.c
+ 1
+ ..\..\components\finsh\finsh_token.c
+
+
+
+
+ Components
+
+
+ components.c
+ 1
+ ..\..\components\init\components.c
+
+
+
+
+ libc
+
+
+ mem_std.c
+ 1
+ ..\..\components\libc\armlibc\mem_std.c
+
+
+ stubs.c
+ 1
+ ..\..\components\libc\armlibc\stubs.c
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f0x/template.uvprojx b/bsp/stm32f0x/template.uvprojx
new file mode 100644
index 0000000000..74b9a82862
--- /dev/null
+++ b/bsp/stm32f0x/template.uvprojx
@@ -0,0 +1,393 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt-thread
+ 0x4
+ ARM-ADS
+
+
+ STM32F051R8
+ STMicroelectronics
+ Keil.STM32F0xx_DFP.1.2.0
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x10000) IRAM(0x20000000,0x2000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F051R8$Flash\STM32F0xx_64.FLM))
+ 0
+ $$Device:STM32F051R8$Device\Include\stm32f0xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F051R8$SVD\STM32F0xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F0xx\
+ ST\STM32F0xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ template
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+
+
+ SARMCM3.DLL
+
+ DARMCM1.DLL
+ -pCM0
+ SARMCM3.DLL
+
+ TARMCM1.DLL
+ -pCM0
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4104
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+ "" ()
+
+
+
+
+ 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-M0"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 0
+ 0
+ 3
+ 3
+ 0
+ 1
+ 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
+ 0x2000
+
+
+ 1
+ 0x8000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x10000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x2000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f107/project.uvprojx b/bsp/stm32f107/project.uvprojx
new file mode 100644
index 0000000000..2b8177c5f4
--- /dev/null
+++ b/bsp/stm32f107/project.uvprojx
@@ -0,0 +1,997 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ RT-Thread STM32
+ 0x4
+ ARM-ADS
+
+
+ STM32F107VC
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.1.0.5
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x10000) IRAM(0x20000000,0x2000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F051R8$Flash\STM32F0xx_64.FLM))
+ 0
+ $$Device:STM32F051R8$Device\Include\stm32f0xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F051R8$SVD\STM32F0xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F10x\
+ ST\STM32F10x\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+
+ DARMSTM.DLL
+ -pSTM32F107VC
+ SARMCM3.DLL
+
+ TARMSTM.DLL
+ -pSTM32F107VC
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+
+ 0
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4099
+
+ 1
+ Segger\JL2CM3.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-M0"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 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
+ 0x2000
+
+
+ 1
+ 0x8000000
+ 0x10000
+
+
+ 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
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ STM32F10X_CL, USE_STDPERIPH_DRIVER
+
+ .;..\..\components\CMSIS\Include;..\..\components\dfs;..\..\components\dfs\include;..\..\components\drivers\include;..\..\components\drivers\spi;..\..\components\finsh;..\..\components\net\lwip-1.4.1\src;..\..\components\net\lwip-1.4.1\src\arch\include;..\..\components\net\lwip-1.4.1\src\include;..\..\components\net\lwip-1.4.1\src\include\ipv4;..\..\components\net\lwip-1.4.1\src\include\netif;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m3;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;Libraries\STM32F10x_StdPeriph_Driver\inc;applications;drivers
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+ --keep __fsym_* --keep __vsym_*
+
+
+
+
+
+
+
+ Applications
+
+
+ application.c
+ 1
+ applications\application.c
+
+
+ startup.c
+ 1
+ applications\startup.c
+
+
+
+
+ Drivers
+
+
+ board.c
+ 1
+ drivers\board.c
+
+
+ msd.c
+ 1
+ drivers\msd.c
+
+
+ platform.c
+ 1
+ drivers\platform.c
+
+
+ rt_stm32f10x_spi.c
+ 1
+ drivers\rt_stm32f10x_spi.c
+
+
+ serial.c
+ 1
+ drivers\serial.c
+
+
+ stm32_eth.c
+ 1
+ drivers\stm32_eth.c
+
+
+ stm32f10x_it.c
+ 1
+ drivers\stm32f10x_it.c
+
+
+ usart.c
+ 1
+ drivers\usart.c
+
+
+
+
+ STM32_StdPeriph
+
+
+ system_stm32f10x.c
+ 1
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
+
+
+ stm32f10x_crc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c
+
+
+ stm32f10x_rcc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c
+
+
+ stm32f10x_wwdg.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c
+
+
+ stm32f10x_pwr.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c
+
+
+ stm32f10x_exti.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c
+
+
+ stm32f10x_bkp.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c
+
+
+ stm32f10x_i2c.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c
+
+
+ stm32f10x_adc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c
+
+
+ stm32f10x_dac.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c
+
+
+ stm32f10x_rtc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c
+
+
+ stm32f10x_fsmc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c
+
+
+ stm32f10x_tim.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c
+
+
+ stm32f10x_iwdg.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c
+
+
+ stm32f10x_spi.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c
+
+
+ stm32f10x_flash.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c
+
+
+ stm32f10x_sdio.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c
+
+
+ stm32f10x_gpio.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c
+
+
+ stm32f10x_usart.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c
+
+
+ stm32f10x_dbgmcu.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c
+
+
+ stm32f10x_dma.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c
+
+
+ stm32f10x_can.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c
+
+
+ stm32f10x_cec.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c
+
+
+ misc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\misc.c
+
+
+ startup_stm32f10x_cl.s
+ 2
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_cl.s
+
+
+
+
+ Kernel
+
+
+ clock.c
+ 1
+ ..\..\src\clock.c
+
+
+ device.c
+ 1
+ ..\..\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\src\mem.c
+
+
+ mempool.c
+ 1
+ ..\..\src\mempool.c
+
+
+ object.c
+ 1
+ ..\..\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\src\scheduler.c
+
+
+ thread.c
+ 1
+ ..\..\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\src\timer.c
+
+
+
+
+ CORTEX-M3
+
+
+ cpuport.c
+ 1
+ ..\..\libcpu\arm\cortex-m3\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\libcpu\arm\cortex-m3\context_rvds.S
+
+
+ backtrace.c
+ 1
+ ..\..\libcpu\arm\common\backtrace.c
+
+
+ div0.c
+ 1
+ ..\..\libcpu\arm\common\div0.c
+
+
+ showmem.c
+ 1
+ ..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ Filesystem
+
+
+ dfs.c
+ 1
+ ..\..\components\dfs\src\dfs.c
+
+
+ dfs_fs.c
+ 1
+ ..\..\components\dfs\src\dfs_fs.c
+
+
+ dfs_file.c
+ 1
+ ..\..\components\dfs\src\dfs_file.c
+
+
+ dfs_posix.c
+ 1
+ ..\..\components\dfs\src\dfs_posix.c
+
+
+ dfs_elm.c
+ 1
+ ..\..\components\dfs\filesystems\elmfat\dfs_elm.c
+
+
+ ff.c
+ 1
+ ..\..\components\dfs\filesystems\elmfat\ff.c
+
+
+
+
+ DeviceDrivers
+
+
+ spi_core.c
+ 1
+ ..\..\components\drivers\spi\spi_core.c
+
+
+ spi_dev.c
+ 1
+ ..\..\components\drivers\spi\spi_dev.c
+
+
+
+
+ finsh
+
+
+ shell.c
+ 1
+ ..\..\components\finsh\shell.c
+
+
+ symbol.c
+ 1
+ ..\..\components\finsh\symbol.c
+
+
+ cmd.c
+ 1
+ ..\..\components\finsh\cmd.c
+
+
+ finsh_compiler.c
+ 1
+ ..\..\components\finsh\finsh_compiler.c
+
+
+ finsh_error.c
+ 1
+ ..\..\components\finsh\finsh_error.c
+
+
+ finsh_heap.c
+ 1
+ ..\..\components\finsh\finsh_heap.c
+
+
+ finsh_init.c
+ 1
+ ..\..\components\finsh\finsh_init.c
+
+
+ finsh_node.c
+ 1
+ ..\..\components\finsh\finsh_node.c
+
+
+ finsh_ops.c
+ 1
+ ..\..\components\finsh\finsh_ops.c
+
+
+ finsh_parser.c
+ 1
+ ..\..\components\finsh\finsh_parser.c
+
+
+ finsh_var.c
+ 1
+ ..\..\components\finsh\finsh_var.c
+
+
+ finsh_vm.c
+ 1
+ ..\..\components\finsh\finsh_vm.c
+
+
+ finsh_token.c
+ 1
+ ..\..\components\finsh\finsh_token.c
+
+
+
+
+ LwIP
+
+
+ api_lib.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\api_lib.c
+
+
+ api_msg.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\api_msg.c
+
+
+ err.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\err.c
+
+
+ netbuf.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\netbuf.c
+
+
+ netdb.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\netdb.c
+
+
+ netifapi.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\netifapi.c
+
+
+ sockets.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\sockets.c
+
+
+ tcpip.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\api\tcpip.c
+
+
+ sys_arch.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c
+
+
+ def.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\def.c
+
+
+ dhcp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\dhcp.c
+
+
+ dns.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\dns.c
+
+
+ init.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\init.c
+
+
+ memp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\memp.c
+
+
+ netif.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\netif.c
+
+
+ pbuf.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\pbuf.c
+
+
+ raw.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\raw.c
+
+
+ stats.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\stats.c
+
+
+ sys.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\sys.c
+
+
+ tcp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\tcp.c
+
+
+ tcp_in.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\tcp_in.c
+
+
+ tcp_out.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\tcp_out.c
+
+
+ timers.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\timers.c
+
+
+ udp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\udp.c
+
+
+ autoip.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c
+
+
+ icmp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c
+
+
+ igmp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c
+
+
+ inet.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c
+
+
+ inet_chksum.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c
+
+
+ ip.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c
+
+
+ ip_addr.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c
+
+
+ ip_frag.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c
+
+
+ etharp.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\netif\etharp.c
+
+
+ ethernetif.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c
+
+
+ slipif.c
+ 1
+ ..\..\components\net\lwip-1.4.1\src\netif\slipif.c
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f107/template.uvprojx b/bsp/stm32f107/template.uvprojx
new file mode 100644
index 0000000000..a90b887b3b
--- /dev/null
+++ b/bsp/stm32f107/template.uvprojx
@@ -0,0 +1,391 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ RT-Thread STM32
+ 0x4
+ ARM-ADS
+
+
+ STM32F107VC
+ STMicroelectronics
+ Keil.STM32F0xx_DFP.1.2.0
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x10000) IRAM(0x20000000,0x2000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F051R8$Flash\STM32F0xx_64.FLM))
+ 0
+ $$Device:STM32F051R8$Device\Include\stm32f0xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F051R8$SVD\STM32F0xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F10x\
+ ST\STM32F10x\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+
+
+ SARMCM3.DLL
+
+ DARMSTM.DLL
+ -pSTM32F107VC
+ SARMCM3.DLL
+
+ TARMSTM.DLL
+ -pSTM32F107VC
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 4099
+
+ Segger\JL2CM3.dll
+
+
+
+
+
+ 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-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 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
+ 0x10000
+
+
+ 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
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f10x/project.uvprojx b/bsp/stm32f10x/project.uvprojx
new file mode 100644
index 0000000000..b9ffe21059
--- /dev/null
+++ b/bsp/stm32f10x/project.uvprojx
@@ -0,0 +1,797 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rtthread-stm32
+ 0x4
+ ARM-ADS
+
+
+ STM32F103ZE
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.1.0.5
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM))
+ 0
+ $$Device:STM32F103ZE$Device\Include\stm32f10x.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103ZE$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F10x\
+ ST\STM32F10x\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+
+ DARMSTM.DLL
+ -pSTM32F103ZE
+ SARMCM3.DLL
+
+ TARMSTM.DLL
+ -pSTM32F103ZE
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+
+ 0
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4099
+
+ 1
+ Segger\JL2CM3.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-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 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
+ 0x10000
+
+
+ 1
+ 0x8000000
+ 0x80000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x80000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ STM32F10X_HD, USE_STDPERIPH_DRIVER
+
+ .;..\..\components\CMSIS\Include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\init;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m3;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;Libraries\STM32F10x_StdPeriph_Driver\inc;applications;drivers
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+ --keep __fsym_* --keep __vsym_* --keep __rt_init*
+
+
+
+
+
+
+
+ Applications
+
+
+ application.c
+ 1
+ applications\application.c
+
+
+ startup.c
+ 1
+ applications\startup.c
+
+
+
+
+ Drivers
+
+
+ board.c
+ 1
+ drivers\board.c
+
+
+ stm32f10x_it.c
+ 1
+ drivers\stm32f10x_it.c
+
+
+ led.c
+ 1
+ drivers\led.c
+
+
+ usart.c
+ 1
+ drivers\usart.c
+
+
+
+
+ STM32_StdPeriph
+
+
+ system_stm32f10x.c
+ 1
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
+
+
+ stm32f10x_crc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c
+
+
+ stm32f10x_rcc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c
+
+
+ stm32f10x_wwdg.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c
+
+
+ stm32f10x_pwr.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c
+
+
+ stm32f10x_exti.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c
+
+
+ stm32f10x_bkp.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c
+
+
+ stm32f10x_i2c.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c
+
+
+ stm32f10x_adc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c
+
+
+ stm32f10x_dac.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c
+
+
+ stm32f10x_rtc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c
+
+
+ stm32f10x_fsmc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c
+
+
+ stm32f10x_tim.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c
+
+
+ stm32f10x_iwdg.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c
+
+
+ stm32f10x_spi.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c
+
+
+ stm32f10x_flash.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c
+
+
+ stm32f10x_sdio.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c
+
+
+ stm32f10x_gpio.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c
+
+
+ stm32f10x_usart.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c
+
+
+ stm32f10x_dbgmcu.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c
+
+
+ stm32f10x_dma.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c
+
+
+ stm32f10x_can.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c
+
+
+ stm32f10x_cec.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_cec.c
+
+
+ misc.c
+ 1
+ Libraries\STM32F10x_StdPeriph_Driver\src\misc.c
+
+
+ startup_stm32f10x_hd.s
+ 2
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s
+
+
+
+
+ Kernel
+
+
+ clock.c
+ 1
+ ..\..\src\clock.c
+
+
+ device.c
+ 1
+ ..\..\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\src\mem.c
+
+
+ mempool.c
+ 1
+ ..\..\src\mempool.c
+
+
+ object.c
+ 1
+ ..\..\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\src\scheduler.c
+
+
+ thread.c
+ 1
+ ..\..\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\src\timer.c
+
+
+
+
+ CORTEX-M3
+
+
+ cpuport.c
+ 1
+ ..\..\libcpu\arm\cortex-m3\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\libcpu\arm\cortex-m3\context_rvds.S
+
+
+ backtrace.c
+ 1
+ ..\..\libcpu\arm\common\backtrace.c
+
+
+ div0.c
+ 1
+ ..\..\libcpu\arm\common\div0.c
+
+
+ showmem.c
+ 1
+ ..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ DeviceDrivers
+
+
+ serial.c
+ 1
+ ..\..\components\drivers\serial\serial.c
+
+
+ completion.c
+ 1
+ ..\..\components\drivers\src\completion.c
+
+
+ dataqueue.c
+ 1
+ ..\..\components\drivers\src\dataqueue.c
+
+
+ pipe.c
+ 1
+ ..\..\components\drivers\src\pipe.c
+
+
+ portal.c
+ 1
+ ..\..\components\drivers\src\portal.c
+
+
+ ringbuffer.c
+ 1
+ ..\..\components\drivers\src\ringbuffer.c
+
+
+ workqueue.c
+ 1
+ ..\..\components\drivers\src\workqueue.c
+
+
+
+
+ finsh
+
+
+ shell.c
+ 1
+ ..\..\components\finsh\shell.c
+
+
+ symbol.c
+ 1
+ ..\..\components\finsh\symbol.c
+
+
+ cmd.c
+ 1
+ ..\..\components\finsh\cmd.c
+
+
+ finsh_compiler.c
+ 1
+ ..\..\components\finsh\finsh_compiler.c
+
+
+ finsh_error.c
+ 1
+ ..\..\components\finsh\finsh_error.c
+
+
+ finsh_heap.c
+ 1
+ ..\..\components\finsh\finsh_heap.c
+
+
+ finsh_init.c
+ 1
+ ..\..\components\finsh\finsh_init.c
+
+
+ finsh_node.c
+ 1
+ ..\..\components\finsh\finsh_node.c
+
+
+ finsh_ops.c
+ 1
+ ..\..\components\finsh\finsh_ops.c
+
+
+ finsh_parser.c
+ 1
+ ..\..\components\finsh\finsh_parser.c
+
+
+ finsh_var.c
+ 1
+ ..\..\components\finsh\finsh_var.c
+
+
+ finsh_vm.c
+ 1
+ ..\..\components\finsh\finsh_vm.c
+
+
+ finsh_token.c
+ 1
+ ..\..\components\finsh\finsh_token.c
+
+
+
+
+ Components
+
+
+ components.c
+ 1
+ ..\..\components\init\components.c
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f10x/template.uvprojx b/bsp/stm32f10x/template.uvprojx
new file mode 100644
index 0000000000..c6aff7241a
--- /dev/null
+++ b/bsp/stm32f10x/template.uvprojx
@@ -0,0 +1,397 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rtthread-stm32
+ 0x4
+ ARM-ADS
+
+
+ STM32F103ZE
+ STMicroelectronics
+ Keil.STM32F1xx_DFP.1.0.5
+ http://www.keil.com/pack/
+ IROM(0x08000000,0x80000) IRAM(0x20000000,0x10000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM))
+ 0
+ $$Device:STM32F103ZE$Device\Include\stm32f10x.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F103ZE$SVD\STM32F103xx.svd
+ 0
+ 0
+
+
+
+ ST\STM32F10x\
+ ST\STM32F10x\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+
+
+ SARMCM3.DLL
+
+ DARMSTM.DLL
+ -pSTM32F103ZE
+ SARMCM3.DLL
+
+ TARMSTM.DLL
+ -pSTM32F103ZE
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+
+ 0
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4099
+
+ 1
+ Segger\JL2CM3.dll
+ "" ()
+
+
+
+
+ 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-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 1
+ 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
+ 0x10000
+
+
+ 1
+ 0x8000000
+ 0x80000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x80000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x10000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f20x/project.uvprojx b/bsp/stm32f20x/project.uvprojx
new file mode 100644
index 0000000000..2a19857062
--- /dev/null
+++ b/bsp/stm32f20x/project.uvprojx
@@ -0,0 +1,807 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ RT-Thread STM32
+ 0x4
+ ARM-ADS
+
+
+ STM32F207VG
+ STMicroelectronics
+ Keil.STM32F2xx_DFP.2.0.0
+ http://www.keil.com/pack
+ IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207VGTx$CMSIS\Flash\STM32F2xx_1024.FLM))
+ 0
+ $$Device:STM32F207VGTx$Drivers\CMSIS\Device\ST\STM32F2xx\Include\stm32f2xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F207VGTx$CMSIS\SVD\STM32F20x.svd
+ 0
+ 0
+
+
+
+ ST\STM32F2xx\
+ ST\STM32F2xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -MPU
+ DARMSTM.DLL
+ -pSTM32F207VG
+ SARMCM3.DLL
+ -MPU
+ TARMSTM.DLL
+ -pSTM32F207VG
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+
+ 0
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4099
+
+ 1
+ Segger\JL2CM3.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-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 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
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ USE_STDPERIPH_DRIVER
+
+ .;..\..\components\CMSIS\Include;..\..\components\finsh;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m3;Drivers;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx;Libraries\STM32F2xx_StdPeriph_Driver\inc;applications
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+ --keep __fsym_* --keep __vsym_*
+
+
+
+
+
+
+
+ Applications
+
+
+ application.c
+ 1
+ applications\application.c
+
+
+ startup.c
+ 1
+ applications\startup.c
+
+
+
+
+ Drivers
+
+
+ 24LCxx.c
+ 1
+ Drivers\24LCxx.c
+
+
+ FM25Lx.c
+ 1
+ Drivers\FM25Lx.c
+
+
+ board.c
+ 1
+ Drivers\board.c
+
+
+ i2c.c
+ 1
+ Drivers\i2c.c
+
+
+ rtc.c
+ 1
+ Drivers\rtc.c
+
+
+ serial.c
+ 1
+ Drivers\serial.c
+
+
+ stm32f2xx_it.c
+ 1
+ Drivers\stm32f2xx_it.c
+
+
+ usart.c
+ 1
+ Drivers\usart.c
+
+
+
+
+ STM32_StdPeriph
+
+
+ system_stm32f2xx.c
+ 1
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\system_stm32f2xx.c
+
+
+ misc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c
+
+
+ stm32f2xx_adc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c
+
+
+ stm32f2xx_can.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c
+
+
+ stm32f2xx_crc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c
+
+
+ stm32f2xx_cryp.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c
+
+
+ stm32f2xx_cryp_aes.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c
+
+
+ stm32f2xx_cryp_des.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c
+
+
+ stm32f2xx_cryp_tdes.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c
+
+
+ stm32f2xx_dac.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c
+
+
+ stm32f2xx_dbgmcu.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c
+
+
+ stm32f2xx_dcmi.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c
+
+
+ stm32f2xx_dma.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c
+
+
+ stm32f2xx_exti.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c
+
+
+ stm32f2xx_flash.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c
+
+
+ stm32f2xx_fsmc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c
+
+
+ stm32f2xx_gpio.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c
+
+
+ stm32f2xx_hash.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c
+
+
+ stm32f2xx_hash_md5.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c
+
+
+ stm32f2xx_hash_sha1.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c
+
+
+ stm32f2xx_i2c.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c
+
+
+ stm32f2xx_iwdg.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c
+
+
+ stm32f2xx_pwr.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c
+
+
+ stm32f2xx_rcc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c
+
+
+ stm32f2xx_rng.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c
+
+
+ stm32f2xx_rtc.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c
+
+
+ stm32f2xx_sdio.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c
+
+
+ stm32f2xx_spi.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c
+
+
+ stm32f2xx_syscfg.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c
+
+
+ stm32f2xx_tim.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c
+
+
+ stm32f2xx_usart.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c
+
+
+ stm32f2xx_wwdg.c
+ 1
+ Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c
+
+
+ startup_stm32f2xx.s
+ 2
+ Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm\startup_stm32f2xx.s
+
+
+
+
+ Kernel
+
+
+ clock.c
+ 1
+ ..\..\src\clock.c
+
+
+ device.c
+ 1
+ ..\..\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\src\mem.c
+
+
+ mempool.c
+ 1
+ ..\..\src\mempool.c
+
+
+ object.c
+ 1
+ ..\..\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\src\scheduler.c
+
+
+ thread.c
+ 1
+ ..\..\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\src\timer.c
+
+
+
+
+ CORTEX-M3
+
+
+ cpuport.c
+ 1
+ ..\..\libcpu\arm\cortex-m3\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\libcpu\arm\cortex-m3\context_rvds.S
+
+
+ backtrace.c
+ 1
+ ..\..\libcpu\arm\common\backtrace.c
+
+
+ div0.c
+ 1
+ ..\..\libcpu\arm\common\div0.c
+
+
+ showmem.c
+ 1
+ ..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ finsh
+
+
+ shell.c
+ 1
+ ..\..\components\finsh\shell.c
+
+
+ symbol.c
+ 1
+ ..\..\components\finsh\symbol.c
+
+
+ cmd.c
+ 1
+ ..\..\components\finsh\cmd.c
+
+
+ finsh_compiler.c
+ 1
+ ..\..\components\finsh\finsh_compiler.c
+
+
+ finsh_error.c
+ 1
+ ..\..\components\finsh\finsh_error.c
+
+
+ finsh_heap.c
+ 1
+ ..\..\components\finsh\finsh_heap.c
+
+
+ finsh_init.c
+ 1
+ ..\..\components\finsh\finsh_init.c
+
+
+ finsh_node.c
+ 1
+ ..\..\components\finsh\finsh_node.c
+
+
+ finsh_ops.c
+ 1
+ ..\..\components\finsh\finsh_ops.c
+
+
+ finsh_parser.c
+ 1
+ ..\..\components\finsh\finsh_parser.c
+
+
+ finsh_var.c
+ 1
+ ..\..\components\finsh\finsh_var.c
+
+
+ finsh_vm.c
+ 1
+ ..\..\components\finsh\finsh_vm.c
+
+
+ finsh_token.c
+ 1
+ ..\..\components\finsh\finsh_token.c
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f20x/template.uvprojx b/bsp/stm32f20x/template.uvprojx
new file mode 100644
index 0000000000..5f9e741955
--- /dev/null
+++ b/bsp/stm32f20x/template.uvprojx
@@ -0,0 +1,391 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ RT-Thread STM32
+ 0x4
+ ARM-ADS
+
+
+ STM32F207VG
+ STMicroelectronics
+ Keil.STM32F2xx_DFP.2.0.0
+ http://www.keil.com/pack
+ IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207VGTx$CMSIS\Flash\STM32F2xx_1024.FLM))
+ 0
+ $$Device:STM32F207VGTx$Drivers\CMSIS\Device\ST\STM32F2xx\Include\stm32f2xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F207VGTx$CMSIS\SVD\STM32F20x.svd
+ 0
+ 0
+
+
+
+ ST\STM32F2xx\
+ ST\STM32F2xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32
+ 1
+ 0
+ 0
+ 1
+ 0
+ .\build\
+ 1
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+
+
+ SARMCM3.DLL
+ -MPU
+ DARMSTM.DLL
+ -pSTM32F207VG
+ SARMCM3.DLL
+ -MPU
+ TARMSTM.DLL
+ -pSTM32F207VG
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Segger\JL2CM3.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 4099
+
+ Segger\JL2CM3.dll
+ "" ()
+
+
+
+
+ 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-M3"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 8
+ 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
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f40x/project.uvprojx b/bsp/stm32f40x/project.uvprojx
new file mode 100644
index 0000000000..50bd41f02b
--- /dev/null
+++ b/bsp/stm32f40x/project.uvprojx
@@ -0,0 +1,787 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt-thread_stm32f4xx
+ 0x4
+ ARM-ADS
+
+
+ STM32F407VG
+ STMicroelectronics
+ Keil.STM32F4xx_DFP.2.2.0
+ http://www.keil.com/pack
+ IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) IRAM2(0x10000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM))
+ 0
+ $$Device:STM32F407VGTx$Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F407VGTx$CMSIS\SVD\STM32F40x.svd
+ 0
+ 0
+
+
+
+ ST\STM32F4xx\
+ ST\STM32F4xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32f4xx
+ 1
+ 0
+ 0
+ 1
+ 1
+ .\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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 0
+ 1
+
+ 0
+ -1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4100
+
+ 1
+ STLink\ST-LINKIII-KEIL.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
+ 1
+ 0
+ 8
+ 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
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ USE_STDPERIPH_DRIVER
+
+ .;..\..\components\finsh;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;Libraries\CMSIS\Include;Libraries\CMSIS\ST\STM32F4xx\Include;Libraries\STM32F4xx_StdPeriph_Driver\inc;applications;drivers
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+ --keep __fsym_* --keep __vsym_*
+
+
+
+
+
+
+
+ Applications
+
+
+ application.c
+ 1
+ applications\application.c
+
+
+ startup.c
+ 1
+ applications\startup.c
+
+
+
+
+ Drivers
+
+
+ board.c
+ 1
+ drivers\board.c
+
+
+ serial.c
+ 1
+ drivers\serial.c
+
+
+ stm32f4xx_it.c
+ 1
+ drivers\stm32f4xx_it.c
+
+
+ usart.c
+ 1
+ drivers\usart.c
+
+
+
+
+ STM32_StdPeriph
+
+
+ system_stm32f4xx.c
+ 1
+ Libraries\CMSIS\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c
+
+
+ misc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\misc.c
+
+
+ stm32f4xx_adc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_adc.c
+
+
+ stm32f4xx_can.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_can.c
+
+
+ stm32f4xx_crc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_crc.c
+
+
+ stm32f4xx_cryp.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_cryp.c
+
+
+ stm32f4xx_cryp_aes.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_cryp_aes.c
+
+
+ stm32f4xx_cryp_des.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_cryp_des.c
+
+
+ stm32f4xx_cryp_tdes.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_cryp_tdes.c
+
+
+ stm32f4xx_dac.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dac.c
+
+
+ stm32f4xx_dbgmcu.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dbgmcu.c
+
+
+ stm32f4xx_dcmi.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dcmi.c
+
+
+ stm32f4xx_dma.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_dma.c
+
+
+ stm32f4xx_exti.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_exti.c
+
+
+ stm32f4xx_flash.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_flash.c
+
+
+ stm32f4xx_fsmc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_fsmc.c
+
+
+ stm32f4xx_gpio.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c
+
+
+ stm32f4xx_hash.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_hash.c
+
+
+ stm32f4xx_hash_md5.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_hash_md5.c
+
+
+ stm32f4xx_hash_sha1.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_hash_sha1.c
+
+
+ stm32f4xx_i2c.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_i2c.c
+
+
+ stm32f4xx_iwdg.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_iwdg.c
+
+
+ stm32f4xx_pwr.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_pwr.c
+
+
+ stm32f4xx_rcc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c
+
+
+ stm32f4xx_rng.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rng.c
+
+
+ stm32f4xx_rtc.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rtc.c
+
+
+ stm32f4xx_sdio.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_sdio.c
+
+
+ stm32f4xx_spi.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_spi.c
+
+
+ stm32f4xx_syscfg.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_syscfg.c
+
+
+ stm32f4xx_tim.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_tim.c
+
+
+ stm32f4xx_usart.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_usart.c
+
+
+ stm32f4xx_wwdg.c
+ 1
+ Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_wwdg.c
+
+
+ startup_stm32f4xx.s
+ 2
+ Libraries\CMSIS\ST\STM32F4xx\Source\Templates\arm\startup_stm32f4xx.s
+
+
+
+
+ Kernel
+
+
+ clock.c
+ 1
+ ..\..\src\clock.c
+
+
+ device.c
+ 1
+ ..\..\src\device.c
+
+
+ idle.c
+ 1
+ ..\..\src\idle.c
+
+
+ ipc.c
+ 1
+ ..\..\src\ipc.c
+
+
+ irq.c
+ 1
+ ..\..\src\irq.c
+
+
+ kservice.c
+ 1
+ ..\..\src\kservice.c
+
+
+ mem.c
+ 1
+ ..\..\src\mem.c
+
+
+ mempool.c
+ 1
+ ..\..\src\mempool.c
+
+
+ object.c
+ 1
+ ..\..\src\object.c
+
+
+ scheduler.c
+ 1
+ ..\..\src\scheduler.c
+
+
+ thread.c
+ 1
+ ..\..\src\thread.c
+
+
+ timer.c
+ 1
+ ..\..\src\timer.c
+
+
+
+
+ CORTEX-M4
+
+
+ cpuport.c
+ 1
+ ..\..\libcpu\arm\cortex-m4\cpuport.c
+
+
+ context_rvds.S
+ 2
+ ..\..\libcpu\arm\cortex-m4\context_rvds.S
+
+
+ backtrace.c
+ 1
+ ..\..\libcpu\arm\common\backtrace.c
+
+
+ div0.c
+ 1
+ ..\..\libcpu\arm\common\div0.c
+
+
+ showmem.c
+ 1
+ ..\..\libcpu\arm\common\showmem.c
+
+
+
+
+ finsh
+
+
+ shell.c
+ 1
+ ..\..\components\finsh\shell.c
+
+
+ symbol.c
+ 1
+ ..\..\components\finsh\symbol.c
+
+
+ cmd.c
+ 1
+ ..\..\components\finsh\cmd.c
+
+
+ finsh_compiler.c
+ 1
+ ..\..\components\finsh\finsh_compiler.c
+
+
+ finsh_error.c
+ 1
+ ..\..\components\finsh\finsh_error.c
+
+
+ finsh_heap.c
+ 1
+ ..\..\components\finsh\finsh_heap.c
+
+
+ finsh_init.c
+ 1
+ ..\..\components\finsh\finsh_init.c
+
+
+ finsh_node.c
+ 1
+ ..\..\components\finsh\finsh_node.c
+
+
+ finsh_ops.c
+ 1
+ ..\..\components\finsh\finsh_ops.c
+
+
+ finsh_parser.c
+ 1
+ ..\..\components\finsh\finsh_parser.c
+
+
+ finsh_var.c
+ 1
+ ..\..\components\finsh\finsh_var.c
+
+
+ finsh_vm.c
+ 1
+ ..\..\components\finsh\finsh_vm.c
+
+
+ finsh_token.c
+ 1
+ ..\..\components\finsh\finsh_token.c
+
+
+
+
+
+
+
+
diff --git a/bsp/stm32f40x/template.uvprojx b/bsp/stm32f40x/template.uvprojx
new file mode 100644
index 0000000000..367b472a68
--- /dev/null
+++ b/bsp/stm32f40x/template.uvprojx
@@ -0,0 +1,391 @@
+
+
+
+ 1.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt-thread_stm32f4xx
+ 0x4
+ ARM-ADS
+
+
+ STM32F407VG
+ STMicroelectronics
+ Keil.STM32F4xx_DFP.2.2.0
+ http://www.keil.com/pack
+ IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) IRAM2(0x10000000,0x10000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F407VGTx$CMSIS\Flash\STM32F4xx_1024.FLM))
+ 0
+ $$Device:STM32F407VGTx$Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F407VGTx$CMSIS\SVD\STM32F40x.svd
+ 0
+ 0
+
+
+
+ ST\STM32F4xx\
+ ST\STM32F4xx\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\build\
+ rtthread-stm32f4xx
+ 1
+ 0
+ 0
+ 1
+ 1
+ .\build\
+ 1
+ 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
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+
+
+ SARMCM3.DLL
+ -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+ 0
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL.dll
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4100
+
+ STLink\ST-LINKIII-KEIL.dll
+ "" ()
+
+
+
+
+ 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
+ 1
+ 0
+ 8
+ 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
+ 0x20000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x20000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/building.py b/tools/building.py
index 0bdaa8696b..f12452ed7d 100644
--- a/tools/building.py
+++ b/tools/building.py
@@ -67,7 +67,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
rtconfig.EXEC_PATH = rtconfig.EXEC_PATH.replace('bin40', 'armcc/bin')
Env['LINKFLAGS']=Env['LINKFLAGS'].replace('RV31', 'armcc')
- # reset AR command flags
+ # reset AR command flags
env['ARCOM'] = '$AR --create $TARGET $SOURCES'
env['LIBPREFIX'] = ''
env['LIBSUFFIX'] = '.lib'
@@ -102,7 +102,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
PreProcessor.process_contents(contents)
BuildOptions = PreProcessor.cpp_namespace
- # add copy option
+ # add copy option
AddOption('--copy',
dest='copy',
action='store_true',
@@ -148,12 +148,12 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
rtconfig.POST_ACTION = ''
# add build library option
- AddOption('--buildlib',
- dest='buildlib',
+ AddOption('--buildlib',
+ dest='buildlib',
type='string',
help='building library of a component')
- AddOption('--cleanlib',
- dest='cleanlib',
+ AddOption('--cleanlib',
+ dest='cleanlib',
action='store_true',
default=False,
help='clean up the library by --buildlib')
@@ -167,6 +167,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
#{target_name:(CROSS_TOOL, PLATFORM)}
tgt_dict = {'mdk':('keil', 'armcc'),
'mdk4':('keil', 'armcc'),
+ 'mdk5':('keil', 'armcc'),
'iar':('iar', 'iar'),
'vs':('msvc', 'cl'),
'vs2012':('msvc', 'cl'),
@@ -240,13 +241,13 @@ def PrepareModuleBuilding(env, root_directory):
Env = env
Rtt_Root = root_directory
- # add build/clean library option for library checking
- AddOption('--buildlib',
- dest='buildlib',
+ # add build/clean library option for library checking
+ AddOption('--buildlib',
+ dest='buildlib',
type='string',
help='building library of a component')
- AddOption('--cleanlib',
- dest='cleanlib',
+ AddOption('--cleanlib',
+ dest='cleanlib',
action='store_true',
default=False,
help='clean up the library by --buildlib')
@@ -268,7 +269,7 @@ def GetDepend(depend):
building = False
elif BuildOptions[depend] != '':
return BuildOptions[depend]
-
+
return building
# for list type depend
@@ -345,7 +346,7 @@ def DefineGroup(name, src, depend, **parameters):
if group.has_key('LINKFLAGS'):
Env.Append(LINKFLAGS = group['LINKFLAGS'])
- # check whether to clean up library
+ # check whether to clean up library
if GetOption('cleanlib') and os.path.exists(os.path.join(group['path'], GroupLibFullName(name, Env))):
if group['src'] != []:
print 'Remove library:', GroupLibFullName(name, Env)
@@ -369,14 +370,14 @@ def DefineGroup(name, src, depend, **parameters):
else:
objs = group['src']
- # merge group
+ # merge group
for g in Projects:
if g['name'] == name:
# merge to this group
MergeGroup(g, group)
return objs
- # add a new group
+ # add a new group
Projects.append(group)
return objs
@@ -450,6 +451,7 @@ def EndBuilding(target, program = None):
if GetOption('target') == 'mdk':
from keil import MDKProject
from keil import MDK4Project
+ from keil import MDK5Project
template = os.path.isfile('template.Uv2')
if template:
@@ -459,16 +461,24 @@ def EndBuilding(target, program = None):
if template:
MDK4Project('project.uvproj', Projects)
else:
- print 'No template project file found.'
+ template = os.path.isfile('template.uvprojx')
+ if template:
+ MDK5Project('project.uvprojx', Projects)
+ else:
+ print 'No template project file found.'
+
if GetOption('target') == 'mdk4':
- from keil import MDKProject
from keil import MDK4Project
MDK4Project('project.uvproj', Projects)
+ if GetOption('target') == 'mdk5':
+ from keil import MDK5Project
+ MDK5Project('project.uvprojx', Projects)
+
if GetOption('target') == 'iar':
from iar import IARProject
- IARProject('project.ewp', Projects)
+ IARProject('project.ewp', Projects)
if GetOption('target') == 'vs':
from vs import VSProject
@@ -485,7 +495,7 @@ def EndBuilding(target, program = None):
if GetOption('target') == 'ua':
from ua import PrepareUA
PrepareUA(Projects, Rtt_Root, str(Dir('#')))
-
+
if GetOption('copy') and program != None:
MakeCopy(program)
if GetOption('copy-header') and program != None:
@@ -515,7 +525,7 @@ def GetVersion():
rtdef = os.path.join(Rtt_Root, 'include', 'rtdef.h')
- # parse rtdef.h to get RT-Thread version
+ # parse rtdef.h to get RT-Thread version
prepcessor = SCons.cpp.PreProcessor()
f = file(rtdef, 'r')
contents = f.read()
@@ -561,9 +571,9 @@ def do_rm_file(src):
def do_copy_file(src, dst):
import shutil
- # check source file
+ # check source file
if not os.path.exists(src):
- return
+ return
path = os.path.dirname(dst)
# mkdir if path not exist
@@ -574,13 +584,13 @@ def do_copy_file(src, dst):
def do_copy_folder(src_dir, dst_dir):
import shutil
- # check source directory
+ # check source directory
if not os.path.exists(src_dir):
return
-
+
if os.path.exists(dst_dir):
shutil.rmtree(dst_dir)
-
+
shutil.copytree(src_dir, dst_dir)
source_ext = ["c", "h", "s", "S", "cpp", "xpm"]
@@ -607,22 +617,22 @@ def MakeCopy(program):
global source_list
global Rtt_Root
global Env
-
+
target_path = os.path.join(Dir('#').abspath, 'rt-thread')
-
+
if Env['PLATFORM'] == 'win32':
RTT_ROOT = Rtt_Root.lower()
else:
RTT_ROOT = Rtt_Root
-
+
if target_path.startswith(RTT_ROOT):
return
for item in program:
walk_children(item)
-
+
source_list.sort()
-
+
# filte source file in RT-Thread
target_list = []
for src in source_list:
@@ -633,7 +643,7 @@ def MakeCopy(program):
target_list.append(src)
source_list = target_list
- # get source path
+ # get source path
src_dir = []
for src in source_list:
src = src.replace(RTT_ROOT, '')
@@ -645,10 +655,10 @@ def MakeCopy(program):
full_path = RTT_ROOT
for item in sub_path:
full_path = os.path.join(full_path, item)
- if full_path not in src_dir:
+ if full_path not in src_dir:
src_dir.append(full_path)
- for item in src_dir:
+ for item in src_dir:
source_list.append(os.path.join(item, 'SConscript'))
for src in source_list:
@@ -659,7 +669,7 @@ def MakeCopy(program):
dst = os.path.join(target_path, dst)
do_copy_file(src, dst)
- # copy tools directory
+ # copy tools directory
print "=> tools"
do_copy_folder(os.path.join(RTT_ROOT, "tools"), os.path.join(target_path, "tools"))
do_copy_file(os.path.join(RTT_ROOT, 'AUTHORS'), os.path.join(target_path, 'AUTHORS'))
@@ -707,7 +717,7 @@ def MakeCopyHeader(program):
dst = os.path.join(target_path, dst)
do_copy_file(src, dst)
- # copy tools directory
+ # copy tools directory
print "=> tools"
do_copy_folder(os.path.join(RTT_ROOT, "tools"), os.path.join(target_path, "tools"))
do_copy_file(os.path.join(RTT_ROOT, 'AUTHORS'), os.path.join(target_path, 'AUTHORS'))
diff --git a/tools/keil.py b/tools/keil.py
index 64afedfb65..8f8b926804 100644
--- a/tools/keil.py
+++ b/tools/keil.py
@@ -49,11 +49,11 @@ def MDK4AddGroupForFN(ProjectFiles, parent, name, filename, project_path):
file_type = SubElement(file, 'FileType')
file_type.text = '%d' % _get_filetype(name)
file_path = SubElement(file, 'FilePath')
-
+
file_path.text = path.decode(fs_encoding)
def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
- # don't add an empty group
+ # don't add an empty group
if len(files) == 0:
return
@@ -69,7 +69,7 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
basename = os.path.basename(path)
path = _make_path_relative(project_path, path)
path = os.path.join(path, name)
-
+
files = SubElement(group, 'Files')
file = SubElement(files, 'File')
file_name = SubElement(file, 'FileName')
@@ -81,7 +81,7 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
file_type = SubElement(file, 'FileType')
file_type.text = '%d' % _get_filetype(name)
file_path = SubElement(file, 'FilePath')
-
+
file_path.text = path.decode(fs_encoding)
def MDK4Project(target, script):
@@ -93,16 +93,16 @@ def MDK4Project(target, script):
tree = etree.parse('template.uvproj')
root = tree.getroot()
-
+
out = file(target, 'wb')
out.write('\n')
-
+
CPPPATH = []
CPPDEFINES = []
LINKFLAGS = ''
CCFLAGS = ''
ProjectFiles = []
-
+
# add group
groups = tree.find('Targets/Target/Groups')
if groups is None:
@@ -110,28 +110,28 @@ def MDK4Project(target, script):
groups.clear() # clean old groups
for group in script:
group_xml = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path)
-
+
# get each include path
if group.has_key('CPPPATH') and group['CPPPATH']:
if CPPPATH:
CPPPATH += group['CPPPATH']
else:
CPPPATH += group['CPPPATH']
-
+
# get each group's definitions
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
if CPPDEFINES:
CPPDEFINES += group['CPPDEFINES']
else:
CPPDEFINES += group['CPPDEFINES']
-
+
# get each group's link flags
if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
if LINKFLAGS:
LINKFLAGS += ' ' + group['LINKFLAGS']
else:
LINKFLAGS += group['LINKFLAGS']
-
+
if group.has_key('LIBS') and group['LIBS']:
for item in group['LIBS']:
lib_path = ''
@@ -161,7 +161,154 @@ def MDK4Project(target, script):
if os.path.exists('template.uvopt'):
import shutil
shutil.copy2('template.uvopt', 'project.uvopt')
-
+
+def MDK5AddGroupForFN(ProjectFiles, parent, name, filename, project_path):
+ group = SubElement(parent, 'Group')
+ group_name = SubElement(group, 'GroupName')
+ group_name.text = name
+
+ name = os.path.basename(filename)
+ path = os.path.dirname (filename)
+
+ basename = os.path.basename(path)
+ path = _make_path_relative(project_path, path)
+ path = os.path.join(path, name)
+ files = SubElement(group, 'Files')
+ file = SubElement(files, 'File')
+ file_name = SubElement(file, 'FileName')
+ name = os.path.basename(path)
+ if ProjectFiles.count(name):
+ name = basename + '_' + name
+ ProjectFiles.append(name)
+ file_name.text = name.decode(fs_encoding)
+ file_type = SubElement(file, 'FileType')
+ file_type.text = '%d' % _get_filetype(name)
+ file_path = SubElement(file, 'FilePath')
+
+ file_path.text = path.decode(fs_encoding)
+
+def MDK5AddGroup(ProjectFiles, parent, name, files, project_path):
+ # don't add an empty group
+ if len(files) == 0:
+ return
+
+ group = SubElement(parent, 'Group')
+ group_name = SubElement(group, 'GroupName')
+ group_name.text = name
+
+ for f in files:
+ fn = f.rfile()
+ name = fn.name
+ path = os.path.dirname(fn.abspath)
+
+ basename = os.path.basename(path)
+ path = _make_path_relative(project_path, path)
+ path = os.path.join(path, name)
+
+ files = SubElement(group, 'Files')
+ file = SubElement(files, 'File')
+ file_name = SubElement(file, 'FileName')
+ name = os.path.basename(path)
+ if ProjectFiles.count(name):
+ name = basename + '_' + name
+ ProjectFiles.append(name)
+ file_name.text = name.decode(fs_encoding)
+ file_type = SubElement(file, 'FileType')
+ file_type.text = '%d' % _get_filetype(name)
+ file_path = SubElement(file, 'FilePath')
+
+ file_path.text = path.decode(fs_encoding)
+
+def MDK5Project(target, script):
+ project_path = os.path.dirname(os.path.abspath(target))
+
+ project_uvopt = os.path.abspath(target).replace('uvprojx', 'uvoptx')
+ if os.path.isfile(project_uvopt):
+ os.unlink(project_uvopt)
+
+ tree = etree.parse('template.uvprojx')
+ root = tree.getroot()
+
+ out = file(target, 'wb')
+ out.write('\n')
+
+ CPPPATH = []
+ CPPDEFINES = []
+ LINKFLAGS = ''
+ CCFLAGS = ''
+ ProjectFiles = []
+
+ # add group
+ groups = tree.find('Targets/Target/Groups')
+ if groups is None:
+ groups = SubElement(tree.find('Targets/Target'), 'Groups')
+ for group in script:
+ group_xml = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path)
+
+ # get each include path
+ if group.has_key('CPPPATH') and group['CPPPATH']:
+ if CPPPATH:
+ CPPPATH += group['CPPPATH']
+ else:
+ CPPPATH += group['CPPPATH']
+
+ # get each group's definitions
+ if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
+ if CPPDEFINES:
+ CPPDEFINES += group['CPPDEFINES']
+ else:
+ CPPDEFINES += group['CPPDEFINES']
+
+ # get each group's link flags
+ if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
+ if LINKFLAGS:
+ LINKFLAGS += ' ' + group['LINKFLAGS']
+ else:
+ LINKFLAGS += group['LINKFLAGS']
+
+ if group.has_key('LIBS') and group['LIBS']:
+ for item in group['LIBS']:
+ lib_path = ''
+ for path_item in group['LIBPATH']:
+ full_path = os.path.join(path_item, item + '.lib')
+ if os.path.isfile(full_path): # has this library
+ lib_path = full_path
+
+ if lib_path != '':
+ MDK4AddGroupForFN(ProjectFiles, groups, group['name'], lib_path, project_path)
+
+ # remove repeat path
+ paths = set()
+ for path in CPPPATH:
+ inc = _make_path_relative(project_path, os.path.normpath(path))
+ paths.add(inc) #.replace('\\', '/')
+
+ paths = [i for i in paths]
+ paths.sort()
+ CPPPATH = string.join(paths, ';')
+
+ definitions = [i for i in set(CPPDEFINES)]
+ CPPDEFINES = string.join(definitions, ', ')
+
+ # write include path, definitions and link flags
+ IncludePath = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/VariousControls/IncludePath')
+ IncludePath.text = CPPPATH
+
+ Define = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/VariousControls/Define')
+ Define.text = CPPDEFINES
+
+ Misc = tree.find('Targets/Target/TargetOption/TargetArmAds/LDads/Misc')
+ Misc.text = LINKFLAGS
+
+ xml_indent(root)
+ out.write(etree.tostring(root, encoding='utf-8'))
+ out.close()
+
+ # copy uvopt file
+ if os.path.exists('template.uvoptx'):
+ import shutil
+ shutil.copy2('template.uvoptx', 'project.uvoptx')
+
def MDKProject(target, script):
template = file('template.Uv2', "rb")
lines = template.readlines()