diff --git a/bsp/stm32f429-apollo/.config b/bsp/stm32f429-apollo/.config
new file mode 100644
index 0000000000..4ba8230ddf
--- /dev/null
+++ b/bsp/stm32f429-apollo/.config
@@ -0,0 +1,165 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# RT-Thread Configuration
+#
+
+#
+# RT-Thread Kernel
+#
+CONFIG_RT_NAME_MAX=8
+CONFIG_RT_ALIGN_SIZE=4
+CONFIG_RT_THREAD_PRIORITY_MAX=32
+CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_DEBUG=y
+CONFIG_RT_USING_OVERFLOW_CHECK=y
+CONFIG_RT_DEBUG_INIT=1
+# CONFIG_RT_DEBUG_THREAD is not set
+CONFIG_RT_USING_HOOK=y
+CONFIG_IDLE_THREAD_STACK_SIZE=1024
+# CONFIG_RT_USING_TIMER_SOFT is not set
+
+#
+# Inter-Thread communication
+#
+CONFIG_RT_USING_SEMAPHORE=y
+CONFIG_RT_USING_MUTEX=y
+CONFIG_RT_USING_EVENT=y
+CONFIG_RT_USING_MAILBOX=y
+CONFIG_RT_USING_MESSAGEQUEUE=y
+
+#
+# Memory Management
+#
+CONFIG_RT_USING_MEMPOOL=y
+CONFIG_RT_USING_MEMHEAP=y
+CONFIG_RT_USING_HEAP=y
+CONFIG_RT_USING_SMALL_MEM=y
+# CONFIG_RT_USING_SLAB is not set
+
+#
+# Kernel Device Object
+#
+CONFIG_RT_USING_DEVICE=y
+CONFIG_RT_USING_CONSOLE=y
+CONFIG_RT_CONSOLEBUF_SIZE=128
+CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
+# CONFIG_RT_USING_MODULE is not set
+
+#
+# RT-Thread Components
+#
+CONFIG_RT_USING_COMPONENTS_INIT=y
+# CONFIG_RT_USING_USER_MAIN is not set
+
+#
+# C++ features
+#
+# CONFIG_RT_USING_CPLUSPLUS is not set
+
+#
+# Command shell
+#
+CONFIG_RT_USING_FINSH=y
+CONFIG_FINSH_USING_SYMTAB=y
+CONFIG_FINSH_USING_DESCRIPTION=y
+CONFIG_FINSH_THREAD_STACK_SIZE=2048
+# CONFIG_FINSH_USING_AUTH is not set
+CONFIG_FINSH_DEFAULT_PASSWORD="rtthread"
+# CONFIG_FINSH_USING_MSH is not set
+# CONFIG_FINSH_USING_MSH_DEFAULT is not set
+# CONFIG_FINSH_USING_MSH_ONLY is not set
+
+#
+# Device virtual file system
+#
+# CONFIG_RT_USING_DFS is not set
+
+#
+# Device Drivers
+#
+CONFIG_RT_USING_DEVICE_IPC=y
+CONFIG_RT_USING_SERIAL=y
+# CONFIG_RT_USING_CAN is not set
+# CONFIG_RT_USING_HWTIMER is not set
+CONFIG_RT_USING_I2C=y
+CONFIG_RT_USING_I2C_BITOPS=y
+# CONFIG_RT_USING_PIN is not set
+# CONFIG_RT_USING_MTD_NOR is not set
+CONFIG_RT_USING_MTD_NAND=y
+CONFIG_RT_MTD_NAND_DEBUG=y
+CONFIG_RT_USING_RTC=y
+# CONFIG_RT_USING_SDIO is not set
+CONFIG_RT_USING_SPI=y
+# CONFIG_RT_USING_SFUD is not set
+# CONFIG_RT_USING_W25QXX is not set
+# CONFIG_RT_USING_GD is not set
+# CONFIG_RT_USING_ENC28J60 is not set
+# CONFIG_RT_USING_SPI_WIFI is not set
+# CONFIG_RT_USING_WDT is not set
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+
+#
+# libc
+#
+CONFIG_RT_USING_LIBC=y
+# CONFIG_RT_USING_PTHREADS is not set
+
+#
+# Network stack
+#
+
+#
+# light weight TCP/IP stack
+#
+# CONFIG_RT_USING_LWIP is not set
+
+#
+# Modbus master and slave stack
+#
+# CONFIG_RT_USING_MODBUS is not set
+
+#
+# RT-Thread online packages
+#
+
+#
+# IoT - internet of things
+#
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_WEBCLIENT is not set
+
+#
+# language packages
+#
+# CONFIG_PKG_USING_JERRYSCRIPT is not set
+
+#
+# miscellaneous packages
+#
+# CONFIG_PKG_USING_HELLO is not set
+
+#
+# multimedia packages
+#
+
+#
+# security packages
+#
+
+#
+# system packages
+#
+# CONFIG_PKG_USING_CMBACKTRACE is not set
+# CONFIG_PKG_USING_PARTITION is not set
+
+#
+# BSP_SPECIAL CONFIG
+#
+CONFIG_RT_RTC_NAME="rtc"
+CONFIG_RT_USING_EXT_SDRAM=y
+CONFIG_RT_USING_UART1=y
+CONFIG_RT_USING_UART2=y
+CONFIG_RT_USING_UART3=y
+CONFIG_RT_USING_SPI5=y
diff --git a/bsp/stm32f429-apollo/KConfig b/bsp/stm32f429-apollo/KConfig
new file mode 100644
index 0000000000..1ca578f6d2
--- /dev/null
+++ b/bsp/stm32f429-apollo/KConfig
@@ -0,0 +1,52 @@
+mainmenu "RT-Thread Configuration"
+
+config $BSP_DIR
+ string
+ option env="BSP_ROOT"
+ default "."
+
+config $RTT_DIR
+ string
+ option env="RTT_ROOT"
+ default "../.."
+
+config $PKGS_DIR
+ string
+ option env="PKGS_ROOT"
+ default "packages"
+
+source "$RTT_DIR/KConfig"
+source "$PKGS_DIR/KConfig"
+
+menu "BSP_SPECIAL CONFIG"
+
+config RT_RTC_NAME
+ string "RT_RTC_NAME"
+ default rtc
+
+config RT_USING_EXT_SDRAM
+ bool "Using RT_USING_EXT_SDRAM"
+ default y
+
+config RT_USING_UART1
+ bool "Using RT_USING_UART1"
+ default y
+
+config RT_USING_UART2
+ bool "Using RT_USING_UART2"
+ default y
+
+config RT_USING_UART3
+ bool "Using RT_USING_UART3"
+ default y
+
+config RT_USING_SPI5
+ bool "Using RT_USING_SPI5"
+ default y
+
+endmenu
+
+
+
+
+
\ No newline at end of file
diff --git a/bsp/stm32f429-apollo/applications/SConscript b/bsp/stm32f429-apollo/applications/SConscript
index 01eb940dfb..d0980be7f7 100644
--- a/bsp/stm32f429-apollo/applications/SConscript
+++ b/bsp/stm32f429-apollo/applications/SConscript
@@ -3,9 +3,19 @@ Import('rtconfig')
from building import *
cwd = os.path.join(str(Dir('#')), 'applications')
-src = Glob('*.c')
+#src = Glob('*.c')
CPPPATH = [cwd, str(Dir('#'))]
+src = Split("""
+application.c
+startup.c
+""")
+
+# add gpio drivers.
+if GetDepend('RT_USING_GUIENGINE'):
+ src += ['rtgui_demo.c']
+
+
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
Return('group')
diff --git a/bsp/stm32f429-apollo/creatproject.bat b/bsp/stm32f429-apollo/creatproject.bat
deleted file mode 100644
index 43e528f34a..0000000000
--- a/bsp/stm32f429-apollo/creatproject.bat
+++ /dev/null
@@ -1 +0,0 @@
-scons --target=mdk4 -s
\ No newline at end of file
diff --git a/bsp/stm32f429-apollo/drivers/SConscript b/bsp/stm32f429-apollo/drivers/SConscript
index 71d829e41b..9d8e32a77d 100644
--- a/bsp/stm32f429-apollo/drivers/SConscript
+++ b/bsp/stm32f429-apollo/drivers/SConscript
@@ -11,11 +11,12 @@ stm32f4xx_it.c
usart.c
drv_sdram.c
drv_rtc.c
-drv_sdio_sd.c
drv_nand.c
drv_mpu.c
""")
+#drv_sdio_sd.c
+
# add Ethernet drivers.
if GetDepend('RT_USING_LWIP'):
src += ['drv_eth.c', 'drv_iic.c', 'drv_pcf8574.c']
diff --git a/bsp/stm32f429-apollo/rtconfig.h b/bsp/stm32f429-apollo/rtconfig.h
index 09392f9060..8da6d0a1f8 100644
--- a/bsp/stm32f429-apollo/rtconfig.h
+++ b/bsp/stm32f429-apollo/rtconfig.h
@@ -1,254 +1,143 @@
-/* RT-Thread config file */
-#ifndef __RTTHREAD_CFG_H__
-#define __RTTHREAD_CFG_H__
+#ifndef RT_CONFIG_H__
+#define RT_CONFIG_H__
-/* RT_NAME_MAX*/
-#define RT_NAME_MAX 8
+/* Automatically generated file; DO NOT EDIT. */
+/* RT-Thread Configuration */
-/* RT_ALIGN_SIZE*/
-#define RT_ALIGN_SIZE 4
+/* RT-Thread Kernel */
-/* PRIORITY_MAX */
-#define RT_THREAD_PRIORITY_MAX 32
-
-/* Tick per Second */
-#define RT_TICK_PER_SECOND 1000
-
-/* SECTION: RT_DEBUG */
-/* Thread Debug */
+#define RT_NAME_MAX 8
+#define RT_ALIGN_SIZE 4
+#define RT_THREAD_PRIORITY_MAX 32
+#define RT_TICK_PER_SECOND 1000
#define RT_DEBUG
-#define RT_DEBUG_INIT 1
#define RT_USING_OVERFLOW_CHECK
-
-/* Using Hook */
+#define RT_DEBUG_INIT 1
+/* RT_DEBUG_THREAD is not set */
#define RT_USING_HOOK
+#define IDLE_THREAD_STACK_SIZE 1024
+/* RT_USING_TIMER_SOFT is not set */
-#define IDLE_THREAD_STACK_SIZE 1024
+/* Inter-Thread communication */
-/* Using Software Timer */
-/* #define RT_USING_TIMER_SOFT */
-#define RT_TIMER_THREAD_PRIO 4
-#define RT_TIMER_THREAD_STACK_SIZE 512
-//
-#define RT_USING_MODULE
-/* SECTION: IPC */
-/* Using Semaphore*/
#define RT_USING_SEMAPHORE
-
-/* Using Mutex */
#define RT_USING_MUTEX
-
-/* Using Event */
#define RT_USING_EVENT
-
-/* Using MailBox */
#define RT_USING_MAILBOX
-
-/* Using Message Queue */
#define RT_USING_MESSAGEQUEUE
-/* SECTION: Memory Management */
-/* Using Memory Pool Management*/
-#define RT_USING_MEMPOOL
+/* Memory Management */
-/* Using Dynamic Heap Management */
-#define RT_USING_HEAP
+#define RT_USING_MEMPOOL
#define RT_USING_MEMHEAP
-/* Using Small MM */
+#define RT_USING_HEAP
#define RT_USING_SMALL_MEM
+/* RT_USING_SLAB is not set */
+
+/* Kernel Device Object */
+
+#define RT_USING_DEVICE
+#define RT_USING_CONSOLE
+#define RT_CONSOLEBUF_SIZE 128
+#define RT_CONSOLE_DEVICE_NAME "uart"
+/* RT_USING_MODULE is not set */
+
+/* RT-Thread Components */
#define RT_USING_COMPONENTS_INIT
+/* RT_USING_USER_MAIN is not set */
-#define RT_USING_EXT_SDRAM
+/* C++ features */
+
+/* RT_USING_CPLUSPLUS is not set */
+
+/* Command shell */
+
+#define RT_USING_FINSH
+#define FINSH_USING_SYMTAB
+#define FINSH_USING_DESCRIPTION
+#define FINSH_THREAD_STACK_SIZE 2048
+/* FINSH_USING_AUTH is not set */
+#define FINSH_DEFAULT_PASSWORD "rtthread"
+/* FINSH_USING_MSH is not set */
+/* FINSH_USING_MSH_DEFAULT is not set */
+/* FINSH_USING_MSH_ONLY is not set */
+
+/* Device virtual file system */
+
+/* RT_USING_DFS is not set */
+
+/* Device Drivers */
-/* SECTION: Device System */
-/* Using Device System */
-#define RT_USING_DEVICE
#define RT_USING_DEVICE_IPC
-
-/* SECTION: RTGUI support */
-/* using RTGUI support */
-#define RT_USING_GUIENGINE
-
-/* name length of RTGUI object */
-#define RTGUI_NAME_MAX 16
-/* support 16 weight font */
-#define RTGUI_USING_FONT16
-/* support 16 weight font */
-#define RTGUI_USING_FONT12
-/* support Chinese font */
-#define RTGUI_USING_FONTHZ
-/* use DFS as file interface */
-#define RTGUI_USING_DFS_FILERW
-/* use font file as Chinese font */
-/* #define RTGUI_USING_HZ_FILE */
-/* use Chinese bitmap font */
-#define RTGUI_USING_HZ_BMP
-/* use small size in RTGUI */
-/* #define RTGUI_USING_SMALL_SIZE */
-/* use mouse cursor */
-/* #define RTGUI_USING_MOUSE_CURSOR */
-
-
-/* Using serial framework */
#define RT_USING_SERIAL
+/* RT_USING_CAN is not set */
+/* RT_USING_HWTIMER is not set */
+#define RT_USING_I2C
+#define RT_USING_I2C_BITOPS
+/* RT_USING_PIN is not set */
+/* RT_USING_MTD_NOR is not set */
+#define RT_USING_MTD_NAND
+#define RT_MTD_NAND_DEBUG
+#define RT_USING_RTC
+/* RT_USING_SDIO is not set */
+#define RT_USING_SPI
+/* RT_USING_SFUD is not set */
+/* RT_USING_W25QXX is not set */
+/* RT_USING_GD is not set */
+/* RT_USING_ENC28J60 is not set */
+/* RT_USING_SPI_WIFI is not set */
+/* RT_USING_WDT is not set */
+/* RT_USING_USB_HOST is not set */
+/* RT_USING_USB_DEVICE is not set */
+/* libc */
+
+#define RT_USING_LIBC
+/* RT_USING_PTHREADS is not set */
+
+/* Network stack */
+
+/* light weight TCP/IP stack */
+
+/* RT_USING_LWIP is not set */
+
+/* Modbus master and slave stack */
+
+/* RT_USING_MODBUS is not set */
+
+/* RT-Thread online packages */
+
+/* IoT - internet of things */
+
+/* PKG_USING_CJSON is not set */
+/* PKG_USING_PAHOMQTT is not set */
+/* PKG_USING_WEBCLIENT is not set */
+
+/* language packages */
+
+/* PKG_USING_JERRYSCRIPT is not set */
+
+/* miscellaneous packages */
+
+/* PKG_USING_HELLO is not set */
+
+/* multimedia packages */
+
+/* security packages */
+
+/* system packages */
+
+/* PKG_USING_CMBACKTRACE is not set */
+/* PKG_USING_PARTITION is not set */
+
+/* BSP_SPECIAL CONFIG */
+
+#define RT_RTC_NAME "rtc"
+#define RT_USING_EXT_SDRAM
#define RT_USING_UART1
#define RT_USING_UART2
#define RT_USING_UART3
-
-/* Using GPIO pin framework */
-//#define RT_USING_PIN
-
-/* Using Hardware Timer framework */
-//#define RT_USING_HWTIMER
-
-/* SECTION: Console options */
-#define RT_USING_CONSOLE
-/* the buffer size of console*/
-#define RT_CONSOLEBUF_SIZE 128
-
-/* SECTION: finsh, a C-Express shell */
-#define RT_USING_FINSH
-/* Using symbol table */
-#define FINSH_USING_SYMTAB
-#define FINSH_USING_DESCRIPTION
-//#define FINSH_USING_MSH
-
-
-#define RT_USING_RTC
-#ifdef RT_USING_RTC
-#define RT_RTC_NAME "rtc"
-#endif
-
-//
-#define RT_USING_MTD_NAND
-//
-#define RT_MTD_NAND_DEBUG
-//
-
-//
-//
-#define RT_USING_LIBC
-//
-//#define RT_USING_PTHREADS
-//
-
-/* SECTION: device filesystem */
-/* Using Device file system */
- #define RT_USING_DFS /**/
-//
-#define RT_USING_DFS_DEVFS
-//
-#define DFS_FILESYSTEM_TYPES_MAX 4
-/* the max number of mounted filesystem */
-#define DFS_FILESYSTEMS_MAX 4
-/* the max number of opened files */
-#define DFS_FD_MAX 16
-//#define DFS_USING_WORKDIR
-
-/* Using ELM FATFS */
-#define RT_USING_DFS_ELMFAT
-#define RT_DFS_ELM_WORD_ACCESS
-/* Reentrancy (thread safe) of the FatFs module. */
-#define RT_DFS_ELM_REENTRANT
-/* Number of volumes (logical drives) to be used. */
-#define RT_DFS_ELM_DRIVES 2
-#define RT_DFS_ELM_USE_LFN 3 /* */
-#define RT_DFS_ELM_CODE_PAGE 437
-#define RT_DFS_ELM_MAX_LFN 255
-/* Maximum sector size to be handled. */
-#define RT_DFS_ELM_MAX_SECTOR_SIZE 4096
-
-
-/* DFS: UFFS nand file system options */
-#define RT_USING_DFS_UFFS
-/* configuration for uffs, more to see dfs_uffs.h and uffs_config.h */
-#define RT_CONFIG_UFFS_ECC_MODE UFFS_ECC_HW_AUTO
- //UFFS_ECC_SOFT
- //UFFS_ECC_HW_AUTO
-
-/* enable this ,you need provide a mark_badblock/check_block function */
-/* #define RT_UFFS_USE_CHECK_MARK_FUNCITON */
-/* Using ROM file system */
-// #define RT_USING_DFS_ROMFS
-
-/* SECTION: lwip, a lighwight TCP/IP protocol stack */
-#define RT_USING_LWIP
-/* LwIP uses RT-Thread Memory Management */
-#define RT_LWIP_USING_RT_MEM
-/* Enable ICMP protocol*/
-#define RT_LWIP_ICMP
-/* Enable UDP protocol*/
-#define RT_LWIP_UDP
-/* Enable TCP protocol*/
-#define RT_LWIP_TCP
-/* Enable DNS */
-#define RT_LWIP_DNS
-/* Enable DHCP */
-#define RT_LWIP_DHCP
-/* Enable DEBUG */
-//#define RT_LWIP_DEBUG
-
-/* the number of simulatenously active TCP connections*/
-#define RT_LWIP_TCP_PCB_NUM 5
-
-/* ip address of target*/
-#define RT_LWIP_IPADDR0 192
-#define RT_LWIP_IPADDR1 168
-#define RT_LWIP_IPADDR2 1
-#define RT_LWIP_IPADDR3 201
-
-/* gateway address of target*/
-#define RT_LWIP_GWADDR0 192
-#define RT_LWIP_GWADDR1 168
-#define RT_LWIP_GWADDR2 1
-#define RT_LWIP_GWADDR3 1
-
-/* mask address of target*/
-#define RT_LWIP_MSKADDR0 255
-#define RT_LWIP_MSKADDR1 255
-#define RT_LWIP_MSKADDR2 255
-#define RT_LWIP_MSKADDR3 0
-
-/* tcp thread options */
-#define RT_LWIP_TCPTHREAD_PRIORITY 12
-#define RT_LWIP_TCPTHREAD_MBOX_SIZE 4
-#define RT_LWIP_TCPTHREAD_STACKSIZE 1024
-
-/* ethernet if thread options */
-#define RT_LWIP_ETHTHREAD_PRIORITY 15
-#define RT_LWIP_ETHTHREAD_MBOX_SIZE 4
-#define RT_LWIP_ETHTHREAD_STACKSIZE 512
-
-/* TCP sender buffer space */
-#define RT_LWIP_TCP_SND_BUF 8192
-/* TCP receive window. */
-#define RT_LWIP_TCP_WND 8192
-
-#define CHECKSUM_CHECK_TCP 0
-#define CHECKSUM_CHECK_IP 0
-#define CHECKSUM_CHECK_UDP 0
-
-//#define CHECKSUM_GEN_TCP 0
-//#define CHECKSUM_GEN_IP 0
-//#define CHECKSUM_GEN_UDP 0
-
-/* RT_GDB_STUB */
-//#define RT_USING_GDB
-
-/* spi driver */
-#define RT_USING_SPI
#define RT_USING_SPI5
-/* Serial Flash Universal Driver */
-#define RT_USING_SFUD
-/* Enable SFUD debug output */
-//#define RT_DEBUG_SFUD 1
-/* serial flash discoverable parameters by JEDEC standard */
-#define RT_SFUD_USING_SFDP
-
-#define RT_USING_I2C
-#define RT_USING_I2C_BITOPS
-
#endif
diff --git a/bsp/stm32f429-apollo/template.uvoptx b/bsp/stm32f429-apollo/template.uvoptx
new file mode 100644
index 0000000000..513cf81782
--- /dev/null
+++ b/bsp/stm32f429-apollo/template.uvoptx
@@ -0,0 +1,207 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ rt_thread_stm32f429
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\Listings\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 0
+ 1
+
+ 0
+
+
+ 0
+ STM32F429I-Discovery: Blinky Lab (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\Documentation\STMicroelectronics_Blinky_Lab.pdf
+
+
+ 1
+ Getting Started (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\MDK\Boards\ST\STM32F429I-Discovery\Documentation\DM00092920.pdf
+
+
+ 2
+ User Manual (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\MDK\Boards\ST\STM32F429I-Discovery\Documentation\DM00093903.pdf
+
+
+ 3
+ Bill of Materials (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\MDK\Boards\ST\STM32F429I-Discovery\Documentation\stm32f429i-disco_bom.zip
+
+
+ 4
+ Gerber Files (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\MDK\Boards\ST\STM32F429I-Discovery\Documentation\stm32f429i-disco_gerber.zip
+
+
+ 5
+ Schematics (STM32F429I-Discovery)
+ E:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\2.5.0\MDK\Boards\ST\STM32F429I-Discovery\Documentation\stm32f429i-disco_sch.zip
+
+
+ 6
+ STM32F429I-Discovery Web Page (STM32F429I-Discovery)
+ http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1199/PF259090
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+ BIN\UL2CM3.DLL
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F429IGHx$CMSIS\Flash\STM32F4xx_1024.FLM))
+
+
+
+
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
+
+
+ Source Group 1
+ 0
+ 0
+ 0
+ 0
+
+
+
diff --git a/bsp/stm32f429-apollo/template.uvprojx b/bsp/stm32f429-apollo/template.uvprojx
new file mode 100644
index 0000000000..1d23fba5e9
--- /dev/null
+++ b/bsp/stm32f429-apollo/template.uvprojx
@@ -0,0 +1,386 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ rt_thread_stm32f429
+ 0x4
+ ARM-ADS
+ 5060300::V5.06 update 3 (build 300)::ARMCC
+
+
+ STM32F429IGHx
+ STMicroelectronics
+ Keil.STM32F4xx_DFP.2.5.0
+ http://www.keil.com/pack
+ IRAM(0x20000000,0x30000) IRAM2(0x10000000,0x10000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F429IGHx$CMSIS\Flash\STM32F4xx_1024.FLM))
+ 0
+ $$Device:STM32F429IGHx$Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32F429IGHx$CMSIS\SVD\STM32F429x.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ template
+ 1
+ 0
+ 0
+ 1
+ 1
+ .\Listings\
+ 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
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 0
+ -1
+
+ 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
+ 1
+ 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
+ 0x30000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x30000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Source Group 1
+
+
+
+
+
+
diff --git a/components/dfs/KConfig b/components/dfs/KConfig
index 512b6f271a..2912a8b47e 100644
--- a/components/dfs/KConfig
+++ b/components/dfs/KConfig
@@ -10,6 +10,10 @@ if RT_USING_DFS
config DFS_USING_WORKDIR
bool "Using working directory"
default y
+
+ config RT_DFS_ELM_WORD_ACCESS
+ bool "Using RT_DFS_ELM_WORD_ACCESS"
+ default y
config DFS_FILESYSTEMS_MAX
int "The maximal number of mounted file system"
diff --git a/components/drivers/KConfig b/components/drivers/KConfig
index 663b35c188..f658650ceb 100644
--- a/components/drivers/KConfig
+++ b/components/drivers/KConfig
@@ -19,6 +19,12 @@ config RT_USING_HWTIMER
config RT_USING_I2C
bool "Using I2C device drivers"
default n
+
+if RT_USING_I2C
+ config RT_USING_I2C_BITOPS
+ bool "Using I2C device BITOPS "
+ default y
+endif
config RT_USING_PIN
bool "Using generic GPIO device drivers"
@@ -31,6 +37,10 @@ config RT_USING_MTD_NOR
config RT_USING_MTD_NAND
bool "Using MTD Nand Flash device drivers"
default n
+
+config RT_MTD_NAND_DEBUG
+ bool "Using MTD NAND Flash DEBUG"
+ default n
config RT_USING_RTC
bool "Using RTC device drivers"
diff --git a/components/net/KConfig b/components/net/KConfig
index d90953152a..913dd6e921 100644
--- a/components/net/KConfig
+++ b/components/net/KConfig
@@ -170,6 +170,6 @@ config RT_USING_NETUTILS
bool "Enable net utils"
default n
-#endif
+endif
endmenu
diff --git a/src/KConfig b/src/KConfig
index a794389448..07a03db9a7 100644
--- a/src/KConfig
+++ b/src/KConfig
@@ -56,6 +56,10 @@ config RT_USING_HOOK
default y
help
Enable the hook function when system running, such as idle thread hook, thread context switch etc.
+
+config IDLE_THREAD_STACK_SIZE
+ int "The stack size of IDLE thread"
+ default 1024
config RT_USING_TIMER_SOFT
bool "Enable software timer with a timer thread"