diff --git a/bsp/stm32f107/project.uvopt b/bsp/stm32f107/project.uvopt
index b076135a42df73593729e5d4f9ee4fa8d61cc0cc..6af51327f8fbbe55ed9f3ef36f7e6e5c472ad69b 100644
--- a/bsp/stm32f107/project.uvopt
+++ b/bsp/stm32f107/project.uvopt
@@ -157,6 +157,38 @@
-U12345678 -O14 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06418041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO27 -FD20000000 -FC800 -FN1 -FF0STM32F10x_CL -FS08000000 -FL040000
+
+
+ 0
+ 0
+ 272
+ 1
+ 134282140
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+ \\rtthread_stm32\init\272
+
+
+ 1
+ 0
+ 274
+ 1
+ 134279930
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+ \\rtthread_stm32\dns\274
+
+
0
0
@@ -202,7 +234,7 @@
0
0
70
- 80
+ 84
0
.\application.c
application.c
@@ -215,8 +247,8 @@
0
0
0
- 55
- 74
+ 108
+ 120
0
.\startup.c
startup.c
@@ -241,10 +273,10 @@
1
0
0
- 0
+ 58
0
- 0
- 0
+ 166
+ 166
0
.\stm32f10x_it.c
stm32f10x_it.c
@@ -271,26 +303,40 @@
0
0
0
- 0
- 0
+ 1
+ 1
0
.\serial.c
serial.c
1
- 7
+ 8
1
0
0
- 26
+ 0
0
- 3367
- 3367
+ 284
+ 296
0
.\stm32_eth.c
stm32_eth.c
+
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\msd.c
+ msd.c
+
@@ -300,7 +346,7 @@
0
2
- 8
+ 9
1
0
0
@@ -314,7 +360,7 @@
2
- 9
+ 10
1
0
0
@@ -328,21 +374,21 @@
2
- 10
+ 11
1
0
0
0
0
- 52
- 63
+ 0
+ 0
0
..\..\src\idle.c
idle.c
2
- 11
+ 12
1
0
0
@@ -356,7 +402,7 @@
2
- 12
+ 13
1
0
0
@@ -370,7 +416,7 @@
2
- 13
+ 14
1
0
0
@@ -384,7 +430,7 @@
2
- 14
+ 15
1
0
0
@@ -398,7 +444,7 @@
2
- 15
+ 16
1
0
0
@@ -412,7 +458,7 @@
2
- 16
+ 17
1
0
0
@@ -426,7 +472,7 @@
2
- 17
+ 18
1
0
0
@@ -440,7 +486,7 @@
2
- 18
+ 19
1
0
0
@@ -454,7 +500,7 @@
2
- 19
+ 20
1
0
0
@@ -468,7 +514,7 @@
2
- 20
+ 21
1
0
0
@@ -482,7 +528,7 @@
2
- 21
+ 22
1
0
0
@@ -496,7 +542,7 @@
2
- 22
+ 23
1
0
0
@@ -517,21 +563,21 @@
0
3
- 23
+ 24
1
0
0
0
0
- 0
- 0
+ 68
+ 79
0
..\..\libcpu\arm\stm32\cpuport.c
cpuport.c
3
- 24
+ 25
2
0
0
@@ -545,7 +591,7 @@
3
- 25
+ 26
1
0
0
@@ -559,7 +605,7 @@
3
- 26
+ 27
1
0
0
@@ -573,7 +619,7 @@
3
- 27
+ 28
1
0
0
@@ -588,13 +634,104 @@
- finsh
+ Filesystem
0
0
0
4
- 28
+ 29
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\src\dfs.c
+ dfs.c
+
+
+ 4
+ 30
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\src\dfs_fs.c
+ dfs_fs.c
+
+
+ 4
+ 31
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\src\dfs_file.c
+ dfs_file.c
+
+
+ 4
+ 32
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\src\dfs_posix.c
+ dfs_posix.c
+
+
+ 4
+ 33
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\filesystems\elmfat\dfs_elm.c
+ dfs_elm.c
+
+
+ 4
+ 34
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\..\components\dfs\filesystems\elmfat\ff.c
+ ff.c
+
+
+
+
+ finsh
+ 0
+ 0
+ 0
+
+ 5
+ 35
1
0
0
@@ -607,8 +744,8 @@
cmd.c
- 4
- 29
+ 5
+ 36
1
0
0
@@ -621,8 +758,8 @@
finsh_compiler.c
- 4
- 30
+ 5
+ 37
1
0
0
@@ -635,8 +772,8 @@
finsh_error.c
- 4
- 31
+ 5
+ 38
1
0
0
@@ -649,8 +786,8 @@
finsh_heap.c
- 4
- 32
+ 5
+ 39
1
0
0
@@ -663,8 +800,8 @@
finsh_init.c
- 4
- 33
+ 5
+ 40
1
0
0
@@ -677,8 +814,8 @@
finsh_node.c
- 4
- 34
+ 5
+ 41
1
0
0
@@ -691,8 +828,8 @@
finsh_ops.c
- 4
- 35
+ 5
+ 42
1
0
0
@@ -705,8 +842,8 @@
finsh_parser.c
- 4
- 36
+ 5
+ 43
1
0
0
@@ -719,8 +856,8 @@
finsh_token.c
- 4
- 37
+ 5
+ 44
1
0
0
@@ -733,8 +870,8 @@
finsh_var.c
- 4
- 38
+ 5
+ 45
1
0
0
@@ -747,8 +884,8 @@
finsh_vm.c
- 4
- 39
+ 5
+ 46
1
0
0
@@ -761,8 +898,8 @@
shell.c
- 4
- 40
+ 5
+ 47
1
0
0
@@ -782,8 +919,8 @@
0
0
- 5
- 41
+ 6
+ 48
1
0
0
@@ -796,8 +933,8 @@
api_lib.c
- 5
- 42
+ 6
+ 49
1
0
0
@@ -810,8 +947,8 @@
api_msg.c
- 5
- 43
+ 6
+ 50
1
0
0
@@ -824,8 +961,8 @@
err.c
- 5
- 44
+ 6
+ 51
1
0
0
@@ -838,8 +975,8 @@
netbuf.c
- 5
- 45
+ 6
+ 52
1
0
0
@@ -852,8 +989,8 @@
netdb.c
- 5
- 46
+ 6
+ 53
1
0
0
@@ -866,8 +1003,8 @@
netifapi.c
- 5
- 47
+ 6
+ 54
1
0
0
@@ -880,22 +1017,22 @@
sockets.c
- 5
- 48
+ 6
+ 55
1
0
0
0
0
- 0
- 0
+ 534
+ 546
0
..\..\components\net\lwip\src\api\tcpip.c
tcpip.c
- 5
- 49
+ 6
+ 56
1
0
0
@@ -908,22 +1045,22 @@
sys_arch.c
- 5
- 50
+ 6
+ 57
1
0
0
0
0
- 0
- 0
+ 25
+ 36
0
..\..\components\net\lwip\src\arch\sys_arch_init.c
sys_arch_init.c
- 5
- 51
+ 6
+ 58
1
0
0
@@ -936,36 +1073,36 @@
dhcp.c
- 5
- 52
+ 6
+ 59
1
0
0
0
0
- 0
- 0
+ 262
+ 274
0
..\..\components\net\lwip\src\core\dns.c
dns.c
- 5
- 53
+ 6
+ 60
1
0
0
0
0
- 0
- 0
+ 261
+ 272
0
..\..\components\net\lwip\src\core\init.c
init.c
- 5
- 54
+ 6
+ 61
1
0
0
@@ -978,8 +1115,8 @@
memp.c
- 5
- 55
+ 6
+ 62
1
0
0
@@ -992,8 +1129,8 @@
netif.c
- 5
- 56
+ 6
+ 63
1
0
0
@@ -1006,8 +1143,8 @@
pbuf.c
- 5
- 57
+ 6
+ 64
1
0
0
@@ -1020,8 +1157,8 @@
raw.c
- 5
- 58
+ 6
+ 65
1
0
0
@@ -1034,8 +1171,8 @@
stats.c
- 5
- 59
+ 6
+ 66
1
0
0
@@ -1048,8 +1185,8 @@
sys.c
- 5
- 60
+ 6
+ 67
1
0
0
@@ -1062,8 +1199,8 @@
tcp.c
- 5
- 61
+ 6
+ 68
1
0
0
@@ -1076,8 +1213,8 @@
tcp_in.c
- 5
- 62
+ 6
+ 69
1
0
0
@@ -1090,22 +1227,22 @@
tcp_out.c
- 5
- 63
+ 6
+ 70
1
0
0
- 0
+ 18
0
- 0
- 0
+ 578
+ 590
0
..\..\components\net\lwip\src\core\udp.c
udp.c
- 5
- 64
+ 6
+ 71
1
0
0
@@ -1118,8 +1255,8 @@
autoip.c
- 5
- 65
+ 6
+ 72
1
0
0
@@ -1132,8 +1269,8 @@
icmp.c
- 5
- 66
+ 6
+ 73
1
0
0
@@ -1146,8 +1283,8 @@
igmp.c
- 5
- 67
+ 6
+ 74
1
0
0
@@ -1160,8 +1297,8 @@
inet.c
- 5
- 68
+ 6
+ 75
1
0
0
@@ -1174,8 +1311,8 @@
inet_chksum.c
- 5
- 69
+ 6
+ 76
1
0
0
@@ -1188,8 +1325,8 @@
ip.c
- 5
- 70
+ 6
+ 77
1
0
0
@@ -1202,8 +1339,8 @@
ip_addr.c
- 5
- 71
+ 6
+ 78
1
0
0
@@ -1216,8 +1353,8 @@
ip_frag.c
- 5
- 72
+ 6
+ 79
1
0
0
@@ -1230,8 +1367,8 @@
etharp.c
- 5
- 73
+ 6
+ 80
1
0
0
@@ -1244,8 +1381,8 @@
ethernetif.c
- 5
- 74
+ 6
+ 81
1
0
0
@@ -1258,15 +1395,15 @@
loopif.c
- 5
- 75
+ 6
+ 82
1
0
0
0
0
- 0
- 0
+ 148
+ 148
0
..\..\components\net\lwip\src\netif\slipif.c
slipif.c
@@ -1279,8 +1416,8 @@
0
0
- 6
- 76
+ 7
+ 83
1
0
0
@@ -1293,22 +1430,22 @@
core_cm3.c
- 6
- 77
+ 7
+ 84
1
0
0
0
0
- 0
- 0
+ 257
+ 269
0
Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
system_stm32f10x.c
- 6
- 78
+ 7
+ 85
1
0
0
@@ -1321,8 +1458,8 @@
stm32f10x_crc.c
- 6
- 79
+ 7
+ 86
1
0
0
@@ -1335,8 +1472,8 @@
stm32f10x_rcc.c
- 6
- 80
+ 7
+ 87
1
0
0
@@ -1349,8 +1486,8 @@
stm32f10x_wwdg.c
- 6
- 81
+ 7
+ 88
1
0
0
@@ -1363,8 +1500,8 @@
stm32f10x_pwr.c
- 6
- 82
+ 7
+ 89
1
0
0
@@ -1377,8 +1514,8 @@
stm32f10x_exti.c
- 6
- 83
+ 7
+ 90
1
0
0
@@ -1391,8 +1528,8 @@
stm32f10x_bkp.c
- 6
- 84
+ 7
+ 91
1
0
0
@@ -1405,8 +1542,8 @@
stm32f10x_i2c.c
- 6
- 85
+ 7
+ 92
1
0
0
@@ -1419,8 +1556,8 @@
stm32f10x_adc.c
- 6
- 86
+ 7
+ 93
1
0
0
@@ -1433,8 +1570,8 @@
stm32f10x_dac.c
- 6
- 87
+ 7
+ 94
1
0
0
@@ -1447,8 +1584,8 @@
stm32f10x_rtc.c
- 6
- 88
+ 7
+ 95
1
0
0
@@ -1461,8 +1598,8 @@
stm32f10x_fsmc.c
- 6
- 89
+ 7
+ 96
1
0
0
@@ -1475,8 +1612,8 @@
stm32f10x_tim.c
- 6
- 90
+ 7
+ 97
1
0
0
@@ -1489,8 +1626,8 @@
stm32f10x_iwdg.c
- 6
- 91
+ 7
+ 98
1
0
0
@@ -1503,8 +1640,8 @@
stm32f10x_spi.c
- 6
- 92
+ 7
+ 99
1
0
0
@@ -1517,8 +1654,8 @@
stm32f10x_flash.c
- 6
- 93
+ 7
+ 100
1
0
0
@@ -1531,8 +1668,8 @@
stm32f10x_sdio.c
- 6
- 94
+ 7
+ 101
1
0
0
@@ -1545,8 +1682,8 @@
stm32f10x_gpio.c
- 6
- 95
+ 7
+ 102
1
0
0
@@ -1559,8 +1696,8 @@
stm32f10x_usart.c
- 6
- 96
+ 7
+ 103
1
0
0
@@ -1573,8 +1710,8 @@
stm32f10x_dbgmcu.c
- 6
- 97
+ 7
+ 104
1
0
0
@@ -1587,8 +1724,8 @@
stm32f10x_dma.c
- 6
- 98
+ 7
+ 105
1
0
0
@@ -1601,8 +1738,8 @@
stm32f10x_can.c
- 6
- 99
+ 7
+ 106
1
0
0
@@ -1615,8 +1752,8 @@
stm32f10x_cec.c
- 6
- 100
+ 7
+ 107
1
0
0
@@ -1629,8 +1766,8 @@
misc.c
- 6
- 101
+ 7
+ 108
2
0
0
diff --git a/bsp/stm32f107/project.uvproj b/bsp/stm32f107/project.uvproj
index f514b87f977034f6653dbe5836da04592f0bddf4..bf5f6cedae400a56b635bf9204cd5c6a9ec03071 100644
--- a/bsp/stm32f107/project.uvproj
+++ b/bsp/stm32f107/project.uvproj
@@ -163,7 +163,7 @@
4099
Segger\JL2CM3.dll
- "" ()
+
@@ -346,7 +346,7 @@
STM32F10X_CL, USE_STDPERIPH_DRIVER
- Libraries\STM32F10x_StdPeriph_Driver\inc;..\..\components\net\lwip\src\arch\include;..\..\components\finsh;..\..\components\net\lwip\src\include;.;..\..\components\net\lwip\src\include\ipv4;..\..\include;Libraries\CMSIS\CM3\CoreSupport;..\..\components\net\lwip\src;..\..\libcpu\arm\common;..\..\libcpu\arm\stm32;..\..\components\net\lwip\src\include\netif;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
+ Libraries\STM32F10x_StdPeriph_Driver\inc;Libraries\CMSIS\CM3\CoreSupport;..\..\components\dfs;..\..\components\finsh;..\..\components\net\lwip\src\include;.;..\..\components\net\lwip\src\include\ipv4;..\..\include;..\..\components\net\lwip\src\arch\include;..\..\components\dfs\include;..\..\components\net\lwip\src;..\..\libcpu\arm\common;..\..\libcpu\arm\stm32;..\..\components\net\lwip\src\include\netif;Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
@@ -376,7 +376,7 @@
- --keep __fsym_* --keep __vsym_*
+ --keep __fsym_* --keep __vsym_*
@@ -421,6 +421,11 @@
1
.\stm32_eth.c
+
+ msd.c
+ 1
+ .\msd.c
+
@@ -533,6 +538,41 @@
+
+ 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
+
+
+
finsh
diff --git a/bsp/stm32f107/rtconfig.h b/bsp/stm32f107/rtconfig.h
index e0a68d1c36c327b513e61e9a44a17b1d011e6110..26cbe2271b5643905fb663edc082b4a31b2e1ba8 100644
--- a/bsp/stm32f107/rtconfig.h
+++ b/bsp/stm32f107/rtconfig.h
@@ -73,7 +73,7 @@
#define FINSH_USING_DESCRIPTION
/* SECTION: device filesystem */
-/* #define RT_USING_DFS */
+#define RT_USING_DFS
#define RT_USING_DFS_ELMFAT
#define RT_DFS_ELM_WORD_ACCESS
/* Reentrancy (thread safe) of the FatFs module. */