Просмотр исходного кода

log: automatic update and deployment before version release

kurisaw 9 месяцев назад
Родитель
Сommit
c5f279c82c
100 измененных файлов с 8433 добавлено и 16364 удалено
  1. 237 77
      bsp/CME_M7/project.uvproj
  2. 220 84
      bsp/Vango/v85xx/project.uvprojx
  3. 212 88
      bsp/Vango/v85xxp/project.uvprojx
  4. 95 61
      bsp/acm32/acm32f0x0-nucleo/project.ewp
  5. 150 74
      bsp/acm32/acm32f0x0-nucleo/project.uvprojx
  6. 0 2337
      bsp/acm32/acm32f4xx-nucleo/project.ewp
  7. 116 40
      bsp/acm32/acm32f4xx-nucleo/project.uvprojx
  8. 73 39
      bsp/airm2m/air32f103/project.ewp
  9. 100 24
      bsp/airm2m/air32f103/project.uvprojx
  10. 0 2468
      bsp/amebaz/project.ewp
  11. 76 42
      bsp/apm32/apm32e103ze-evalboard/project.ewp
  12. 115 39
      bsp/apm32/apm32e103ze-evalboard/project.uvprojx
  13. 78 44
      bsp/apm32/apm32e103ze-tinyboard/project.ewp
  14. 114 38
      bsp/apm32/apm32e103ze-tinyboard/project.uvprojx
  15. 82 48
      bsp/apm32/apm32f030r8-miniboard/project.ewp
  16. 108 32
      bsp/apm32/apm32f030r8-miniboard/project.uvprojx
  17. 79 45
      bsp/apm32/apm32f051r8-evalboard/project.ewp
  18. 114 38
      bsp/apm32/apm32f051r8-evalboard/project.uvprojx
  19. 79 45
      bsp/apm32/apm32f072vb-miniboard/project.ewp
  20. 114 38
      bsp/apm32/apm32f072vb-miniboard/project.uvprojx
  21. 80 46
      bsp/apm32/apm32f091vc-miniboard/project.ewp
  22. 112 36
      bsp/apm32/apm32f091vc-miniboard/project.uvprojx
  23. 84 50
      bsp/apm32/apm32f103vb-miniboard/project.ewp
  24. 114 38
      bsp/apm32/apm32f103vb-miniboard/project.uvprojx
  25. 82 48
      bsp/apm32/apm32f103xe-minibroard/project.ewp
  26. 115 39
      bsp/apm32/apm32f103xe-minibroard/project.uvprojx
  27. 80 46
      bsp/apm32/apm32f107vc-evalboard/project.ewp
  28. 114 38
      bsp/apm32/apm32f107vc-evalboard/project.uvprojx
  29. 80 46
      bsp/apm32/apm32f407ig-minibroard/project.ewp
  30. 114 38
      bsp/apm32/apm32f407ig-minibroard/project.uvprojx
  31. 82 48
      bsp/apm32/apm32f407zg-evalboard/project.ewp
  32. 110 34
      bsp/apm32/apm32f407zg-evalboard/project.uvprojx
  33. 82 48
      bsp/apm32/apm32s103vb-miniboard/project.ewp
  34. 113 37
      bsp/apm32/apm32s103vb-miniboard/project.uvprojx
  35. 196 60
      bsp/apollo2/project.uvprojx
  36. 66 32
      bsp/asm9260t/project.ewp
  37. 96 20
      bsp/asm9260t/project.uvproj
  38. 38 127
      bsp/at32/at32a403a-start/project.ewp
  39. 18 210
      bsp/at32/at32a403a-start/project.uvproj
  40. 14 206
      bsp/at32/at32a403a-start/project.uvprojx
  41. 38 121
      bsp/at32/at32a423-start/project.ewp
  42. 16 194
      bsp/at32/at32a423-start/project.uvproj
  43. 17 195
      bsp/at32/at32a423-start/project.uvprojx
  44. 42 122
      bsp/at32/at32f402-start/project.ewp
  45. 14 185
      bsp/at32/at32f402-start/project.uvproj
  46. 14 185
      bsp/at32/at32f402-start/project.uvprojx
  47. 42 131
      bsp/at32/at32f403a-start/project.ewp
  48. 18 210
      bsp/at32/at32f403a-start/project.uvproj
  49. 16 208
      bsp/at32/at32f403a-start/project.uvprojx
  50. 40 120
      bsp/at32/at32f405-start/project.ewp
  51. 16 187
      bsp/at32/at32f405-start/project.uvproj
  52. 12 183
      bsp/at32/at32f405-start/project.uvprojx
  53. 42 131
      bsp/at32/at32f407-start/project.ewp
  54. 16 208
      bsp/at32/at32f407-start/project.uvproj
  55. 16 208
      bsp/at32/at32f407-start/project.uvprojx
  56. 39 119
      bsp/at32/at32f413-start/project.ewp
  57. 16 187
      bsp/at32/at32f413-start/project.uvproj
  58. 16 187
      bsp/at32/at32f413-start/project.uvprojx
  59. 36 113
      bsp/at32/at32f415-start/project.ewp
  60. 16 180
      bsp/at32/at32f415-start/project.uvproj
  61. 16 180
      bsp/at32/at32f415-start/project.uvprojx
  62. 35 106
      bsp/at32/at32f421-start/project.ewp
  63. 4 4
      bsp/at32/at32f421-start/project.uvoptx
  64. 16 166
      bsp/at32/at32f421-start/project.uvproj
  65. 21 171
      bsp/at32/at32f421-start/project.uvprojx
  66. 40 123
      bsp/at32/at32f423-start/project.ewp
  67. 18 196
      bsp/at32/at32f423-start/project.uvproj
  68. 16 194
      bsp/at32/at32f423-start/project.uvprojx
  69. 37 114
      bsp/at32/at32f425-start/project.ewp
  70. 20 184
      bsp/at32/at32f425-start/project.uvproj
  71. 14 178
      bsp/at32/at32f425-start/project.uvprojx
  72. 37 135
      bsp/at32/at32f435-start/project.ewp
  73. 20 233
      bsp/at32/at32f435-start/project.uvproj
  74. 18 231
      bsp/at32/at32f435-start/project.uvprojx
  75. 40 138
      bsp/at32/at32f437-start/project.ewp
  76. 14 227
      bsp/at32/at32f437-start/project.uvproj
  77. 15 228
      bsp/at32/at32f437-start/project.uvprojx
  78. 37 135
      bsp/at32/at32f455-start/project.ewp
  79. 16 229
      bsp/at32/at32f455-start/project.uvproj
  80. 20 233
      bsp/at32/at32f455-start/project.uvprojx
  81. 39 137
      bsp/at32/at32f456-start/project.ewp
  82. 12 225
      bsp/at32/at32f456-start/project.uvproj
  83. 18 231
      bsp/at32/at32f456-start/project.uvprojx
  84. 34 132
      bsp/at32/at32f457-start/project.ewp
  85. 18 231
      bsp/at32/at32f457-start/project.uvproj
  86. 20 233
      bsp/at32/at32f457-start/project.uvprojx
  87. 36 116
      bsp/at32/at32m412-start/project.ewp
  88. 14 185
      bsp/at32/at32m412-start/project.uvproj
  89. 13 184
      bsp/at32/at32m412-start/project.uvprojx
  90. 40 120
      bsp/at32/at32m416-start/project.ewp
  91. 18 189
      bsp/at32/at32m416-start/project.uvproj
  92. 18 189
      bsp/at32/at32m416-start/project.uvprojx
  93. 2296 0
      bsp/at91/at91sam9g45/project.ewp
  94. 10 0
      bsp/at91/at91sam9g45/project.eww
  95. 242 44
      bsp/at91/at91sam9g45/project.uvproj
  96. 160 84
      bsp/essemi/es32f0654/project.uvprojx
  97. 105 71
      bsp/essemi/es32f365x/project.ewp
  98. 178 102
      bsp/essemi/es32f365x/project.uvprojx
  99. 103 69
      bsp/essemi/es32f369x/project.ewp
  100. 171 95
      bsp/essemi/es32f369x/project.uvprojx

+ 237 - 77
bsp/CME_M7/project.uvproj

@@ -361,9 +361,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\libcpu\arm\cortex-m3;CMSIS\CME_M7;..\..\components\net\lwip\lwip-2.0.3\src\include\posix;..\..\components\net\lwip\lwip-2.0.3\src\include\ipv4;.;StdPeriph_Driver\inc;..\..\components\libc\compilers\common\include;drivers;..\..\components\dfs\dfs_v1\filesystems\elmfat;..\..\components\finsh;..\..\components\libc\posix\io\epoll;..\..\libcpu\arm\common;..\..\components\libc\posix\ipc;..\..\components\drivers\include;..\..\include;CMSIS\CMSIS\Include;..\..\components\libc\posix\io\eventfd;..\..\components\net\lwip\lwip-2.0.3\src\include;..\..\components\net\lwip\port;..\..\components\libc\posix\io\poll;..\..\components\drivers\include;..\..\components\libc\compilers\common\extension;..\..\components\drivers\include;applications;..\..\components\drivers\include;..\..\components\dfs\dfs_v1\include;..\..\components\net\lwip\lwip-2.0.3\src\include\netif</IncludePath>
+              <IncludePath>..\..\components\drivers\include;applications;..\..\components\drivers\phy;..\..\components\drivers\smp_call;..\..\include;..\..\components\libc\posix\io\poll;..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\components\net\lwip\lwip-2.0.3\src\include\ipv4;..\..\components\dfs\dfs_v1\filesystems\elmfat;..\..\components\drivers\include;CMSIS\CMSIS\Include;..\..\components\drivers\include;..\..\components\libc\posix\io\epoll;..\..\components\libc\posix\io\eventfd;..\..\components\finsh;..\..\components\dfs\dfs_v1\include;..\..\libcpu\arm\common;CMSIS\CME_M7;..\..\components\net\lwip\lwip-2.0.3\src\include\posix;..\..\components\libc\compilers\common\extension;StdPeriph_Driver\inc;..\..\components\net\lwip\lwip-2.0.3\src\include;..\..\components\drivers\include;.;..\..\components\drivers\include;..\..\components\net\lwip\port;..\..\components\libc\posix\ipc;..\..\libcpu\arm\cortex-m3;drivers;..\..\components\libc\compilers\common\include;..\..\components\net\lwip\lwip-2.0.3\src\include\netif</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -407,23 +407,23 @@
           <GroupName>Applications</GroupName>
           <Files>
             <File>
-              <FileName>led.c</FileName>
+              <FileName>startup.c</FileName>
               <FileType>1</FileType>
-              <FilePath>applications\led.c</FilePath>
+              <FilePath>applications\startup.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup.c</FileName>
+              <FileName>application.c</FileName>
               <FileType>1</FileType>
-              <FilePath>applications\startup.c</FilePath>
+              <FilePath>applications\application.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>application.c</FileName>
+              <FileName>led.c</FileName>
               <FileType>1</FileType>
-              <FilePath>applications\application.c</FilePath>
+              <FilePath>applications\led.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -431,16 +431,16 @@
           <GroupName>CMSIS</GroupName>
           <Files>
             <File>
-              <FileName>startup_cmem7.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>CMSIS\CME_M7\startup\arm\startup_cmem7.s</FilePath>
+              <FileName>system_cmem7.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>CMSIS\CME_M7\system_cmem7.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_cmem7.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>CMSIS\CME_M7\system_cmem7.c</FilePath>
+              <FileName>startup_cmem7.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>CMSIS\CME_M7\startup\arm\startup_cmem7.s</FilePath>
             </File>
           </Files>
         </Group>
@@ -526,9 +526,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -659,9 +697,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -678,9 +716,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -707,16 +745,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>uart.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\uart.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\uart.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -734,6 +772,18 @@
               <FileName>dfs_elm.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\filesystems\elmfat\dfs_elm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -741,6 +791,18 @@
               <FileName>ff.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\filesystems\elmfat\ff.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -748,6 +810,18 @@
               <FileName>ffunicode.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\filesystems\elmfat\ffunicode.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -755,6 +829,18 @@
               <FileName>dfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -762,6 +848,18 @@
               <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -769,6 +867,18 @@
               <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -776,11 +886,30 @@
               <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
+          <Files>
+            <File>
+              <FileName>msh.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\finsh\msh.c</FilePath>
+            </File>
+          </Files>
           <Files>
             <File>
               <FileName>shell.c</FileName>
@@ -790,9 +919,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_file.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\components\finsh\msh_file.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -809,13 +938,6 @@
               <FilePath>..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>msh_file.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\msh_file.c</FilePath>
-            </File>
-          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -859,9 +981,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\idle.c</FilePath>
+              <FilePath>..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -878,9 +1000,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -897,9 +1019,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\irq.c</FilePath>
+              <FilePath>..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -916,9 +1038,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -935,9 +1057,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1105,6 +1227,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1147,121 +1307,121 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>cmem7_efuse.c</FileName>
+              <FileName>cmem7_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_efuse.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_eth.c</FileName>
+              <FileName>cmem7_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_eth.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_flash.c</FileName>
+              <FileName>cmem7_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_flash.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_adc.c</FileName>
+              <FileName>cmem7_can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_adc.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_can.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_i2c.c</FileName>
+              <FileName>cmem7_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_i2c.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_dma.c</FileName>
+              <FileName>cmem7_wdg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_dma.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_wdg.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_gpio.c</FileName>
+              <FileName>cmem7_aes.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_gpio.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_aes.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_misc.c</FileName>
+              <FileName>cmem7_eth.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_misc.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_eth.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_wdg.c</FileName>
+              <FileName>cmem7_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_wdg.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_flash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_rtc.c</FileName>
+              <FileName>cmem7_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_rtc.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_can.c</FileName>
+              <FileName>cmem7_ddr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_can.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_ddr.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_tim.c</FileName>
+              <FileName>cmem7_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_tim.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_spi.c</FileName>
+              <FileName>cmem7_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_spi.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_ddr.c</FileName>
+              <FileName>cmem7_usb.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_ddr.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_usb.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_aes.c</FileName>
+              <FileName>cmem7_tim.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_aes.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_tim.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_usb.c</FileName>
+              <FileName>cmem7_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_usb.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmem7_uart.c</FileName>
+              <FileName>cmem7_efuse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>StdPeriph_Driver\src\cmem7_uart.c</FilePath>
+              <FilePath>StdPeriph_Driver\src\cmem7_efuse.c</FilePath>
             </File>
           </Files>
         </Group>

+ 220 - 84
bsp/Vango/v85xx/project.uvprojx

@@ -331,9 +331,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, V85xx, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_TARGET_DRIVER</Define>
+              <Define>__STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, V85xx, __RTTHREAD__, USE_TARGET_DRIVER, RT_USING_LIBC, USE_STDPERIPH_DRIVER</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;drivers;..\..\..\libcpu\arm\cortex-m0;Libraries\CMSIS\Vango\V85xx\Include;Libraries\VangoV85xx_standard_peripheral\Include;..\..\..\libcpu\arm\common;Libraries\CMSIS;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>Libraries\CMSIS;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m0;drivers;.;..\..\..\components\drivers\phy;..\..\..\include;..\..\..\components\libc\posix\io\poll;Libraries\CMSIS\Vango\V85xx\Include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\drivers\include;..\..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\..\components\finsh;applications;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;Libraries\VangoV85xx_standard_peripheral\Include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -466,9 +466,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -599,9 +637,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -618,9 +656,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -640,9 +678,9 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>drv_gpio.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_gpio.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -654,9 +692,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\drv_gpio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -667,6 +705,18 @@
               <FileName>devfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -674,6 +724,18 @@
               <FileName>dfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -681,6 +743,18 @@
               <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -688,6 +762,18 @@
               <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -695,6 +781,18 @@
               <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
@@ -702,16 +800,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -723,9 +821,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -778,9 +876,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -797,9 +895,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -816,9 +914,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -835,9 +933,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -854,9 +952,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1024,6 +1122,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1059,191 +1195,191 @@
           <GroupName>Vango_Lib</GroupName>
           <Files>
             <File>
-              <FileName>lib_wdt.c</FileName>
+              <FileName>lib_clk.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_wdt.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_clk.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup_target.S</FileName>
-              <FileType>2</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\Keil5\startup_target.S</FilePath>
+              <FileName>lib_pmu.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_pmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_i2c.c</FileName>
+              <FileName>lib_ana.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_i2c.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_ana.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_cortex.c</FileName>
+              <FileName>lib_tmr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_cortex.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_tmr.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_ana.c</FileName>
+              <FileName>lib_u32k.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_ana.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_u32k.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_LoadNVR.c</FileName>
+              <FileName>lib_CodeRAM.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_LoadNVR.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_CodeRAM.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_comp.c</FileName>
+              <FileName>lib_lcd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_comp.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_lcd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_misc.c</FileName>
+              <FileName>lib_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_misc.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_tmr.c</FileName>
+              <FileName>lib_LoadNVR.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_tmr.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_LoadNVR.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_iso7816.c</FileName>
+              <FileName>lib_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_iso7816.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_adc_tiny.c</FileName>
+              <FileName>lib_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_adc_tiny.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_CodeRAM.c</FileName>
+              <FileName>lib_comp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_CodeRAM.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_comp.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_u32k.c</FileName>
+              <FileName>lib_pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_u32k.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_pwm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_pwm.c</FileName>
+              <FileName>lib_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_pwm.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_rtc.c</FileName>
+              <FileName>lib_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_rtc.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_flash.c</FileName>
+              <FileName>lib_adc_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_flash.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_adc_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_lcd.c</FileName>
+              <FileName>lib_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_lcd.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_flash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_uart.c</FileName>
+              <FileName>lib_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_uart.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_crypt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_crypt.c</FilePath>
+              <FileName>startup_target.S</FileName>
+              <FileType>2</FileType>
+              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\Keil5\startup_target.S</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_target.c</FileName>
+              <FileName>lib_iso7816.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\system_target.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_iso7816.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_spi.c</FileName>
+              <FileName>lib_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_spi.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_pmu.c</FileName>
+              <FileName>lib_version.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_pmu.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_version.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_clk.c</FileName>
+              <FileName>lib_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_clk.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_dma.c</FileName>
+              <FileName>lib_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_dma.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_version.c</FileName>
+              <FileName>lib_crypt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_version.c</FilePath>
+              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_crypt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_adc.c</FileName>
+              <FileName>lib_cortex.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_adc.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\lib_cortex.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_gpio.c</FileName>
+              <FileName>system_target.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xx_standard_peripheral\Source\lib_gpio.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xx\Source\system_target.c</FilePath>
             </File>
           </Files>
         </Group>

+ 212 - 88
bsp/Vango/v85xxp/project.uvprojx

@@ -331,9 +331,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_TARGET_DRIVER, V85XXP</Define>
+              <Define>USE_TARGET_DRIVER, __RTTHREAD__, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, V85XXP</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;applications;Libraries\CMSIS;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;drivers;.;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;Libraries\VangoV85xxP_standard_peripheral\Include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;Libraries\CMSIS\Vango\V85xxP\Include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\libcpu\arm\common;applications;..\..\..\components\drivers\include;..\..\..\include;drivers;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;Libraries\VangoV85xxP_standard_peripheral\Include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\finsh;Libraries\CMSIS;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\libc\posix\io\epoll;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\poll;Libraries\CMSIS\Vango\V85xxP\Include;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m0;..\..\..\components\libc\posix\io\eventfd</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -466,9 +466,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -599,9 +637,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -618,9 +656,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -647,16 +685,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>drv_usart.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_usart.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\drv_usart.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -664,30 +702,78 @@
           <GroupName>Filesystem</GroupName>
           <Files>
             <File>
-              <FileName>dfs_posix.c</FileName>
+              <FileName>dfs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>dfs_fs.c</FileName>
+              <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>dfs.c</FileName>
+              <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>dfs_file.c</FileName>
+              <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
@@ -695,23 +781,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -771,9 +857,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -790,9 +876,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -809,9 +895,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -828,9 +914,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -847,9 +933,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1017,6 +1103,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1052,93 +1176,93 @@
           <GroupName>Vango_Lib</GroupName>
           <Files>
             <File>
-              <FileName>lib_adc_tiny.c</FileName>
+              <FileName>lib_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_adc_tiny.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_uart.c</FileName>
+              <FileName>lib_iso7816.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_uart.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_iso7816.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_wdt.c</FileName>
+              <FileName>lib_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_wdt.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_flash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_lcd.c</FileName>
+              <FileName>lib_tmr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_lcd.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_tmr.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_adc.c</FilePath>
+              <FileName>startup_target.S</FileName>
+              <FileType>2</FileType>
+              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\Keil5\startup_target.S</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_flash.c</FileName>
+              <FileName>lib_crypt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_flash.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_crypt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_misc.c</FileName>
+              <FileName>lib_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_misc.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_spi.c</FileName>
+              <FileName>lib_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_spi.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_ana.c</FileName>
+              <FileName>lib_CodeRAM.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_ana.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_CodeRAM.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_tmr.c</FileName>
+              <FileName>lib_cortex.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_tmr.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_cortex.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_cortex.c</FileName>
+              <FileName>system_target.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_cortex.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\system_target.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_cmp.c</FileName>
+              <FileName>lib_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_cmp.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_crypt.c</FileName>
+              <FileName>lib_u32k.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_crypt.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_u32k.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1157,86 +1281,86 @@
           </Files>
           <Files>
             <File>
-              <FileName>lib_clk.c</FileName>
+              <FileName>lib_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_clk.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_gpio.c</FileName>
+              <FileName>lib_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_gpio.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_pmu.c</FileName>
+              <FileName>lib_cmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_pmu.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_cmp.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_u32k.c</FileName>
+              <FileName>lib_lcd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_u32k.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_lcd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_i2c.c</FileName>
+              <FileName>lib_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_i2c.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_LoadNVR.c</FileName>
+              <FileName>lib_adc_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_LoadNVR.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_adc_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_rtc.c</FileName>
+              <FileName>lib_ana.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_rtc.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_ana.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_iso7816.c</FileName>
+              <FileName>lib_pmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_iso7816.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_pmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup_target.S</FileName>
-              <FileType>2</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\Keil5\startup_target.S</FilePath>
+              <FileName>lib_i2c.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_CodeRAM.c</FileName>
+              <FileName>lib_clk.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_CodeRAM.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_clk.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_target.c</FileName>
+              <FileName>lib_version.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\system_target.c</FilePath>
+              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_version.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>lib_version.c</FileName>
+              <FileName>lib_LoadNVR.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries\VangoV85xxP_standard_peripheral\Source\lib_version.c</FilePath>
+              <FilePath>Libraries\CMSIS\Vango\V85xxP\Source\lib_LoadNVR.c</FilePath>
             </File>
           </Files>
         </Group>

+ 95 - 61
bsp/acm32/acm32f0x0-nucleo/project.ewp

@@ -356,24 +356,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\libraries\Device</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\libraries\Device</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\libraries\CMSIS</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
+          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1416,24 +1418,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\libraries\Device</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\libraries\Device</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\libraries\CMSIS</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
+          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2126,43 +2130,43 @@
       <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_IWDT.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_UART.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_DMA.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_RTC.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_WDT.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_EXTI.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_ADC.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_DMA.c</name>
+      <name>$PROJ_DIR$\libraries\Device\System_ACM32F0x0.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_TIMER.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_ADC.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_RTC.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_I2C.c</name>
+      <name>$PROJ_DIR$\libraries\Device\Startup_ACM32F0x0_iar.s</name>
     </file>
     <file>
       <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_CRC.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_WDT.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_EXTI.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_SPI.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_GPIO.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\Device\Startup_ACM32F0x0_iar.s</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_SPI.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_GPIO.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_I2C.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\Device\System_ACM32F0x0.c</name>
+      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_UART.c</name>
     </file>
   </group>
   <group>
@@ -2228,7 +2232,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\hwtimer\hwtimer.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2252,46 +2262,46 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\misc\adc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\watchdog\watchdog.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\watchdog\dev_watchdog.c</name>
     </file>
   </group>
   <group>
     <name>Drivers</name>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_i2c.c</name>
+      <name>$PROJ_DIR$\drivers\drv_hwtimer.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\drivers\drv_wdt.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_rtc.c</name>
+      <name>$PROJ_DIR$\drivers\drv_adc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_spi.c</name>
+      <name>$PROJ_DIR$\drivers\drv_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_adc.c</name>
+      <name>$PROJ_DIR$\drivers\board.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_gpio.c</name>
+      <name>$PROJ_DIR$\drivers\drv_soft_i2c.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_hwtimer.c</name>
+      <name>$PROJ_DIR$\drivers\drv_pm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_pm.c</name>
+      <name>$PROJ_DIR$\drivers\drv_spi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_soft_i2c.c</name>
+      <name>$PROJ_DIR$\drivers\drv_i2c.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\board.c</name>
+      <name>$PROJ_DIR$\drivers\drv_rtc.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\drivers\drv_uart.c</name>
@@ -2300,16 +2310,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2321,19 +2331,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2360,6 +2370,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2378,4 +2406,10 @@
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 150 - 74
bsp/acm32/acm32f0x0-nucleo/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;applications;..\..\..\libcpu\arm\cortex-m0;libraries\Device;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;libraries\CMSIS;drivers;.;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;libraries\HAL_Driver\Inc;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>libraries\CMSIS;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m0;..\..\..\components\drivers\include;drivers;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;libraries\HAL_Driver\Inc;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;applications;..\..\..\components\drivers\include;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\ipc;libraries\Device;..\..\..\components\drivers\include;..\..\..\components\finsh</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -381,65 +381,65 @@
           <GroupName>ACM32_HAL</GroupName>
           <Files>
             <File>
-              <FileName>HAL_IWDT.c</FileName>
+              <FileName>HAL_EXTI.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_IWDT.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_EXTI.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_UART.c</FileName>
+              <FileName>HAL_TIMER.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_UART.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_TIMER.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_RTC.c</FileName>
+              <FileName>HAL_GPIO.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_RTC.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_GPIO.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_EXTI.c</FileName>
+              <FileName>HAL_ADC.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_EXTI.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_ADC.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_DMA.c</FileName>
+              <FileName>HAL_UART.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_DMA.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_UART.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_TIMER.c</FileName>
+              <FileName>HAL_SPI.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_TIMER.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_SPI.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_ADC.c</FileName>
+              <FileName>HAL_WDT.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_ADC.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_WDT.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_I2C.c</FileName>
+              <FileName>HAL_RTC.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_I2C.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_RTC.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>Startup_ACM32F0x0.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>libraries\Device\Startup_ACM32F0x0.s</FilePath>
+              <FileName>System_ACM32F0x0.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>libraries\Device\System_ACM32F0x0.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -451,30 +451,30 @@
           </Files>
           <Files>
             <File>
-              <FileName>HAL_WDT.c</FileName>
+              <FileName>HAL_DMA.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_WDT.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_DMA.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_SPI.c</FileName>
+              <FileName>HAL_I2C.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_SPI.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_I2C.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_GPIO.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_GPIO.c</FilePath>
+              <FileName>Startup_ACM32F0x0.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>libraries\Device\Startup_ACM32F0x0.s</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>System_ACM32F0x0.c</FileName>
+              <FileName>HAL_IWDT.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\Device\System_ACM32F0x0.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_IWDT.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -589,9 +589,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -741,9 +779,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -760,9 +798,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -779,9 +817,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>watchdog.c</FileName>
+              <FileName>dev_watchdog.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\watchdog\watchdog.c</FilePath>
+              <FilePath>..\..\..\components\drivers\watchdog\dev_watchdog.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -801,37 +839,37 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>drv_soft_i2c.c</FileName>
+              <FileName>drv_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_soft_i2c.c</FilePath>
+              <FilePath>drivers\drv_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_rtc.c</FileName>
+              <FileName>drv_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_rtc.c</FilePath>
+              <FilePath>drivers\drv_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_uart.c</FileName>
+              <FileName>drv_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_uart.c</FilePath>
+              <FilePath>drivers\drv_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_hwtimer.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_hwtimer.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_wdt.c</FileName>
+              <FileName>drv_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_wdt.c</FilePath>
+              <FilePath>drivers\drv_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -843,37 +881,37 @@
           </Files>
           <Files>
             <File>
-              <FileName>drv_i2c.c</FileName>
+              <FileName>drv_soft_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_i2c.c</FilePath>
+              <FilePath>drivers\drv_soft_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\drv_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_spi.c</FileName>
+              <FileName>drv_hwtimer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_spi.c</FilePath>
+              <FilePath>drivers\drv_hwtimer.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_adc.c</FileName>
+              <FileName>drv_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_adc.c</FilePath>
+              <FilePath>drivers\drv_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_gpio.c</FileName>
+              <FileName>drv_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_gpio.c</FilePath>
+              <FilePath>drivers\drv_rtc.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -881,23 +919,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -950,9 +988,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -969,9 +1007,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -988,9 +1026,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1007,9 +1045,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1026,9 +1064,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1196,6 +1234,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>

+ 0 - 2337
bsp/acm32/acm32f4xx-nucleo/project.ewp

@@ -1,2337 +0,0 @@
-<project>
-  <fileVersion>3</fileVersion>
-  <configuration>
-    <name>rt-thread</name>
-    <toolchain>
-      <name>ARM</name>
-    </toolchain>
-    <debug>1</debug>
-    <settings>
-      <name>General</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <version>31</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>ExePath</name>
-          <state>build\iar\Exe</state>
-        </option>
-        <option>
-          <name>ObjPath</name>
-          <state>build\iar\Obj</state>
-        </option>
-        <option>
-          <name>ListPath</name>
-          <state>build\iar\List</state>
-        </option>
-        <option>
-          <name>GEndianMode</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input description</name>
-          <state>Automatic choice of formatter, without multibyte support.</state>
-        </option>
-        <option>
-          <name>Output description</name>
-          <state>Automatic choice of formatter, without multibyte support.</state>
-        </option>
-        <option>
-          <name>GOutputBinary</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGCoreOrChip</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelect</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelectSlave</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>RTDescription</name>
-          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
-        </option>
-        <option>
-          <name>OGProductVersion</name>
-          <state>6.30.6.53380</state>
-        </option>
-        <option>
-          <name>OGLastSavedByProductVersion</name>
-          <state>8.32.1.18618</state>
-        </option>
-        <option>
-          <name>GeneralEnableMisra</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraVerbose</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGChipSelectEditMenu</name>
-          <state>STM32F072RB	ST STM32F072RB</state>
-        </option>
-        <option>
-          <name>GenLowLevelInterface</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GEndianModeBE</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OGBufferedTerminalOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenStdoutInterface</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>GeneralMisraVer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>RTConfigPath2</name>
-          <state>$TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h</state>
-        </option>
-        <option>
-          <name>GBECoreSlave</name>
-          <version>26</version>
-          <state>59</state>
-        </option>
-        <option>
-          <name>OGUseCmsis</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGUseCmsisDspLib</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibThreads</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CoreVariant</name>
-          <version>26</version>
-          <state>59</state>
-        </option>
-        <option>
-          <name>GFPUDeviceSlave</name>
-          <state>STM32F072RB	ST STM32F072RB</state>
-        </option>
-        <option>
-          <name>FPU2</name>
-          <version>0</version>
-          <state>6</state>
-        </option>
-        <option>
-          <name>NrRegs</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>NEON</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GFPUCoreSlave2</name>
-          <version>26</version>
-          <state>59</state>
-        </option>
-        <option>
-          <name>OGCMSISPackSelectDevice</name>
-        </option>
-        <option>
-          <name>OgLibHeap</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGLibAdditionalLocale</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGPrintfVariant</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGPrintfMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGScanfVariant</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGScanfMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenLocaleTags</name>
-          <state />
-        </option>
-        <option>
-          <name>GenLocaleDisplayOnly</name>
-          <state />
-        </option>
-        <option>
-          <name>DSPExtension</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>TrustZone</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>TrustZoneModes</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>ICCARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>35</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>CCOptimizationNoSizeConstraints</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDefines</name>
-          <state />
-          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
-          <state>RT_USING_DLIBC</state>
-          <state>RT_USING_LIBC</state>
-          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
-          <state>__RTTHREAD__</state>
-          <state>__RT_IPC_SOURCE__</state>
-          <state>__RT_KERNEL_SOURCE__</state>
-        </option>
-        <option>
-          <name>CCPreprocFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocComments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMnemonics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMessages</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagSuppress</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagRemark</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagWarning</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagError</name>
-          <state />
-        </option>
-        <option>
-          <name>CCObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCAllowList</name>
-          <version>1</version>
-          <state>00000000</state>
-        </option>
-        <option>
-          <name>CCDebugInfo</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IEndianMode</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IExtraOptionsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>CCLangConformance</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCSignedPlainChar</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCRequirePrototypes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagWarnAreErr</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCompilerRuntimeInfo</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>CCLibConfigHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>PreInclude</name>
-          <state />
-        </option>
-        <option>
-          <name>CompilerMisraOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCIncludePath2</name>
-          <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33</state>
-          <state>$PROJ_DIR$\libraries\Device</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\libraries\CMSIS</state>
-        </option>
-        <option>
-          <name>CCStdIncCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCodeSection</name>
-          <state>.text</state>
-        </option>
-        <option>
-          <name>IProcessorMode2</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptLevel</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptStrategy</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptLevelSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>CCPosIndRopi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndRwpi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndNoDynInit</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccLang</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccAllowVLA</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccStaticDestr</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccCppInlineSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccFloatSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCNoLiteralPool</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptStrategySlave</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCGuardCalls</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCEncSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEncOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEncOutputBom</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCEncInput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccExceptions2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccRTTI2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OICompilerExtraOption</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>AARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>10</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>AObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AEndian</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>ACaseSensitivity</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacroChars</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnWhat</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnOne</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange1</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange2</name>
-          <state />
-        </option>
-        <option>
-          <name>ADebug</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AltRegisterNames</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ADefines</name>
-          <state />
-        </option>
-        <option>
-          <name>AList</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AListHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AListing</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>Includes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacDefs</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacExps</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacExec</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OnlyAssed</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MultiLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLengthCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLength</name>
-          <state>80</state>
-        </option>
-        <option>
-          <name>TabSpacing</name>
-          <state>8</state>
-        </option>
-        <option>
-          <name>AXRef</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDefines</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefInternal</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDual</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AOutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>ALimitErrorsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsEdit</name>
-          <state>100</state>
-        </option>
-        <option>
-          <name>AIgnoreStdInclude</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AUserIncludes</name>
-          <state />
-        </option>
-        <option>
-          <name>AExtraOptionsCheckV2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AExtraOptionsV2</name>
-          <state />
-        </option>
-        <option>
-          <name>AsmNoLiteralPool</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>OBJCOPY</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>1</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>OOCOutputFormat</name>
-          <version>3</version>
-          <state>3</state>
-        </option>
-        <option>
-          <name>OCOutputOverride</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCOutputFile</name>
-          <state>../../../rtthread.bin</state>
-        </option>
-        <option>
-          <name>OOCCommandLineProducer</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCObjCopyEnable</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>CUSTOM</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <extensions />
-        <cmdline />
-        <hasPrio>0</hasPrio>
-      </data>
-    </settings>
-    <settings>
-      <name>BICOMP</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-    <settings>
-      <name>BUILDACTION</name>
-      <archiveVersion>1</archiveVersion>
-      <data>
-        <prebuild />
-        <postbuild />
-      </data>
-    </settings>
-    <settings>
-      <name>ILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>22</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>IlinkLibIOConfig</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>XLinkMisraHandler</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkInputFileSlave</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOutputFile</name>
-          <state>project.out</state>
-        </option>
-        <option>
-          <name>IlinkDebugInfoEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkKeepSymbols</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySymbol</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySegment</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryAlign</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkConfigDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkMapFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogInitialization</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogModule</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogSection</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogVeneer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfOverride</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile</name>
-          <state>$PROJ_DIR$\drivers\linker_scripts\link.icf</state>
-        </option>
-        <option>
-          <name>IlinkIcfFileSlave</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkSuppressDiags</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsRem</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsWarn</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsErr</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkWarningsAreErrors</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkUseExtraOptions</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkLowLevelInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAutoLibEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAdditionalLibs</name>
-          <state />
-          <state>$PROJ_DIR$\libraries\Device\libSystem_Accelerate.a</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Src\libHAL_EFlash_EX.a</state>
-        </option>
-        <option>
-          <name>IlinkOverrideProgramEntryLabel</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabelSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabel</name>
-          <state>__iar_program_start</state>
-        </option>
-        <option>
-          <name>DoFill</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FillerByte</name>
-          <state>0xFF</state>
-        </option>
-        <option>
-          <name>FillerStart</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>FillerEnd</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>CrcSize</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcAlign</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcPoly</name>
-          <state>0x11021</state>
-        </option>
-        <option>
-          <name>CrcCompl</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcBitOrder</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcInitialValue</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>DoCrc</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkBE8Slave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkBufferedTerminalOutput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkStdoutInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcFullSize</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIElfToolPostProcess</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogAutoLibSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogRedirSymbols</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogUnusedFragments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcReverseByteOrder</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcUseAsInput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptInline</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsAllow</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsForce</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptMergeDuplSections</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptUseVfe</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptForceVfe</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackAnalysisEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackControlFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkStackCallGraphFile</name>
-          <state />
-        </option>
-        <option>
-          <name>CrcAlgorithm</name>
-          <version>1</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcUnitSize</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkThreadsSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLogCallGraph</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile_AltDefault</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEncInput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkEncOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkEncOutputBom</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkHeapSelect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLocaleSelect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkTrustzoneImportLibraryOut</name>
-          <state>template_import_lib.o</state>
-        </option>
-        <option>
-          <name>OILinkExtraOption</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>IARCHIVE</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>0</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>IarchiveInputs</name>
-          <state />
-        </option>
-        <option>
-          <name>IarchiveOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IarchiveOutput</name>
-          <state>###Unitialized###</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>BILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-  </configuration>
-  <configuration>
-    <name>Release</name>
-    <toolchain>
-      <name>ARM</name>
-    </toolchain>
-    <debug>0</debug>
-    <settings>
-      <name>General</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <version>31</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>ExePath</name>
-          <state>build\iar\Exe</state>
-        </option>
-        <option>
-          <name>ObjPath</name>
-          <state>build\iar\Obj</state>
-        </option>
-        <option>
-          <name>ListPath</name>
-          <state>build\iar\List</state>
-        </option>
-        <option>
-          <name>GEndianMode</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input description</name>
-          <state>Automatic choice of formatter, without multibyte support.</state>
-        </option>
-        <option>
-          <name>Output description</name>
-          <state>Automatic choice of formatter, without multibyte support.</state>
-        </option>
-        <option>
-          <name>GOutputBinary</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGCoreOrChip</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelect</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelectSlave</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>RTDescription</name>
-          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
-        </option>
-        <option>
-          <name>OGProductVersion</name>
-          <state>6.30.6.53380</state>
-        </option>
-        <option>
-          <name>OGLastSavedByProductVersion</name>
-          <state>8.32.1.18618</state>
-        </option>
-        <option>
-          <name>GeneralEnableMisra</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraVerbose</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGChipSelectEditMenu</name>
-          <state>Default	None</state>
-        </option>
-        <option>
-          <name>GenLowLevelInterface</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GEndianModeBE</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OGBufferedTerminalOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenStdoutInterface</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>GeneralMisraVer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>RTConfigPath2</name>
-          <state>$TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h</state>
-        </option>
-        <option>
-          <name>GBECoreSlave</name>
-          <version>26</version>
-          <state>34</state>
-        </option>
-        <option>
-          <name>OGUseCmsis</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGUseCmsisDspLib</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibThreads</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CoreVariant</name>
-          <version>26</version>
-          <state>34</state>
-        </option>
-        <option>
-          <name>GFPUDeviceSlave</name>
-          <state>Default	None</state>
-        </option>
-        <option>
-          <name>FPU2</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>NrRegs</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>NEON</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GFPUCoreSlave2</name>
-          <version>26</version>
-          <state>34</state>
-        </option>
-        <option>
-          <name>OGCMSISPackSelectDevice</name>
-        </option>
-        <option>
-          <name>OgLibHeap</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGLibAdditionalLocale</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGPrintfVariant</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGPrintfMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGScanfVariant</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGScanfMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenLocaleTags</name>
-          <state />
-        </option>
-        <option>
-          <name>GenLocaleDisplayOnly</name>
-          <state />
-        </option>
-        <option>
-          <name>DSPExtension</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>TrustZone</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>TrustZoneModes</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>ICCARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>35</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>CCOptimizationNoSizeConstraints</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDefines</name>
-          <state />
-          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
-          <state>RT_USING_DLIBC</state>
-          <state>RT_USING_LIBC</state>
-          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
-          <state>__RTTHREAD__</state>
-          <state>__RT_IPC_SOURCE__</state>
-          <state>__RT_KERNEL_SOURCE__</state>
-        </option>
-        <option>
-          <name>CCPreprocFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocComments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMnemonics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMessages</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagSuppress</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagRemark</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagWarning</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagError</name>
-          <state />
-        </option>
-        <option>
-          <name>CCObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCAllowList</name>
-          <version>1</version>
-          <state>11111110</state>
-        </option>
-        <option>
-          <name>CCDebugInfo</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IEndianMode</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IExtraOptionsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>CCLangConformance</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCSignedPlainChar</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCRequirePrototypes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagWarnAreErr</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCompilerRuntimeInfo</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>CCLibConfigHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>PreInclude</name>
-          <state />
-        </option>
-        <option>
-          <name>CompilerMisraOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCIncludePath2</name>
-          <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33</state>
-          <state>$PROJ_DIR$\libraries\Device</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\libraries\CMSIS</state>
-        </option>
-        <option>
-          <name>CCStdIncCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCodeSection</name>
-          <state>.text</state>
-        </option>
-        <option>
-          <name>IProcessorMode2</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptLevel</name>
-          <state>3</state>
-        </option>
-        <option>
-          <name>CCOptStrategy</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptLevelSlave</name>
-          <state>3</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>CCPosIndRopi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndRwpi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndNoDynInit</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccLang</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccAllowVLA</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccStaticDestr</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccCppInlineSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccFloatSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCNoLiteralPool</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptStrategySlave</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCGuardCalls</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCEncSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEncOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEncOutputBom</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCEncInput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccExceptions2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccRTTI2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OICompilerExtraOption</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>AARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>10</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>AObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AEndian</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>ACaseSensitivity</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacroChars</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnWhat</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnOne</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange1</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange2</name>
-          <state />
-        </option>
-        <option>
-          <name>ADebug</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AltRegisterNames</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ADefines</name>
-          <state />
-        </option>
-        <option>
-          <name>AList</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AListHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AListing</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>Includes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacDefs</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacExps</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacExec</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OnlyAssed</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MultiLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLengthCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLength</name>
-          <state>80</state>
-        </option>
-        <option>
-          <name>TabSpacing</name>
-          <state>8</state>
-        </option>
-        <option>
-          <name>AXRef</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDefines</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefInternal</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDual</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AOutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>ALimitErrorsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsEdit</name>
-          <state>100</state>
-        </option>
-        <option>
-          <name>AIgnoreStdInclude</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AUserIncludes</name>
-          <state />
-        </option>
-        <option>
-          <name>AExtraOptionsCheckV2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AExtraOptionsV2</name>
-          <state />
-        </option>
-        <option>
-          <name>AsmNoLiteralPool</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>OBJCOPY</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>1</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>OOCOutputFormat</name>
-          <version>3</version>
-          <state>3</state>
-        </option>
-        <option>
-          <name>OCOutputOverride</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCOutputFile</name>
-          <state>rtthread.bin</state>
-        </option>
-        <option>
-          <name>OOCCommandLineProducer</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCObjCopyEnable</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>CUSTOM</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <extensions />
-        <cmdline />
-        <hasPrio>0</hasPrio>
-      </data>
-    </settings>
-    <settings>
-      <name>BICOMP</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-    <settings>
-      <name>BUILDACTION</name>
-      <archiveVersion>1</archiveVersion>
-      <data>
-        <prebuild />
-        <postbuild />
-      </data>
-    </settings>
-    <settings>
-      <name>ILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>22</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>IlinkLibIOConfig</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>XLinkMisraHandler</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkInputFileSlave</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOutputFile</name>
-          <state>template.out</state>
-        </option>
-        <option>
-          <name>IlinkDebugInfoEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkKeepSymbols</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySymbol</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySegment</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryAlign</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkConfigDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkMapFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogInitialization</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogModule</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogSection</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogVeneer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfOverride</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile</name>
-          <state>$PROJ_DIR$\drivers\linker_scripts\link.icf</state>
-        </option>
-        <option>
-          <name>IlinkIcfFileSlave</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkSuppressDiags</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsRem</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsWarn</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsErr</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkWarningsAreErrors</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkUseExtraOptions</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkLowLevelInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAutoLibEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAdditionalLibs</name>
-          <state />
-          <state>$PROJ_DIR$\libraries\Device\libSystem_Accelerate.a</state>
-          <state>$PROJ_DIR$\libraries\HAL_Driver\Src\libHAL_EFlash_EX.a</state>
-        </option>
-        <option>
-          <name>IlinkOverrideProgramEntryLabel</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabelSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabel</name>
-          <state>__iar_program_start</state>
-        </option>
-        <option>
-          <name>DoFill</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FillerByte</name>
-          <state>0xFF</state>
-        </option>
-        <option>
-          <name>FillerStart</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>FillerEnd</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>CrcSize</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcAlign</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcPoly</name>
-          <state>0x11021</state>
-        </option>
-        <option>
-          <name>CrcCompl</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcBitOrder</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcInitialValue</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>DoCrc</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkBE8Slave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkBufferedTerminalOutput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkStdoutInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcFullSize</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIElfToolPostProcess</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogAutoLibSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogRedirSymbols</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogUnusedFragments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcReverseByteOrder</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcUseAsInput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptInline</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsAllow</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsForce</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptMergeDuplSections</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptUseVfe</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptForceVfe</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackAnalysisEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackControlFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkStackCallGraphFile</name>
-          <state />
-        </option>
-        <option>
-          <name>CrcAlgorithm</name>
-          <version>1</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcUnitSize</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkThreadsSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLogCallGraph</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile_AltDefault</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEncInput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkEncOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkEncOutputBom</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkHeapSelect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLocaleSelect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkTrustzoneImportLibraryOut</name>
-          <state>template_import_lib.o</state>
-        </option>
-        <option>
-          <name>OILinkExtraOption</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>IARCHIVE</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>0</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>IarchiveInputs</name>
-          <state />
-        </option>
-        <option>
-          <name>IarchiveOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IarchiveOutput</name>
-          <state>###Unitialized###</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>BILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-  </configuration>
-  <group>
-    <name>ACM32_HAL</name>
-    <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_UART.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_EXTI.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_DMA.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\Device\Startup_ACM32F4_iar.s</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\Device\System_ACM32F4.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_GPIO.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\libraries\HAL_Driver\Src\HAL_EFlash.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Applications</name>
-    <file>
-      <name>$PROJ_DIR$\applications\main.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Compiler</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cctype.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cstdlib.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cstring.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\ctime.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cunistd.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cwchar.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
-    </file>
-  </group>
-  <group>
-    <name>DeviceDrivers</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Drivers</name>
-    <file>
-      <name>$PROJ_DIR$\drivers\drv_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\drivers\drv_uart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\drivers\board.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Kernel</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\components.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\object.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\scheduler_comm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\scheduler_up.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
-    </file>
-  </group>
-  <group>
-    <name>libcpu</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33\context_iar.S</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33\cpuport.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33\syscall_iar.S</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m33\trustzone.c</name>
-    </file>
-  </group>
-  <group>
-    <name>POSIX</name>
-  </group>
-</project>

+ 116 - 40
bsp/acm32/acm32f4xx-nucleo/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>libraries\CMSIS;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;drivers;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\epoll;libraries\Device;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m33;libraries\HAL_Driver\Inc;..\..\..\components\libc\compilers\common\extension\fcntl\octal</IncludePath>
+              <IncludePath>libraries\CMSIS;..\..\..\components\drivers\include;libraries\Device;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;drivers;.;..\..\..\libcpu\arm\cortex-m33;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\..\..\components\finsh;..\..\..\components\drivers\include;libraries\HAL_Driver\Inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\ipc;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -388,44 +388,44 @@
           </Files>
           <Files>
             <File>
-              <FileName>HAL_EXTI.c</FileName>
+              <FileName>System_ACM32F4.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_EXTI.c</FilePath>
+              <FilePath>libraries\Device\System_ACM32F4.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_DMA.c</FileName>
+              <FileName>HAL_GPIO.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_DMA.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_GPIO.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>Startup_ACM32F4.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>libraries\Device\Startup_ACM32F4.s</FilePath>
+              <FileName>HAL_DMA.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>libraries\HAL_Driver\Src\HAL_DMA.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>System_ACM32F4.c</FileName>
+              <FileName>HAL_EXTI.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\Device\System_ACM32F4.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_EXTI.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_GPIO.c</FileName>
+              <FileName>HAL_EFlash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_GPIO.c</FilePath>
+              <FilePath>libraries\HAL_Driver\Src\HAL_EFlash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>HAL_EFlash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>libraries\HAL_Driver\Src\HAL_EFlash.c</FilePath>
+              <FileName>Startup_ACM32F4.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>libraries\Device\Startup_ACM32F4.s</FilePath>
             </File>
           </Files>
         </Group>
@@ -521,9 +521,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -654,9 +692,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -673,9 +711,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -719,30 +757,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -845,9 +883,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -864,9 +902,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1034,6 +1072,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>

+ 73 - 39
bsp/airm2m/air32f103/project.ewp

@@ -356,26 +356,28 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\libraries\AIR32F10xLib\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\libraries</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\libraries</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\libraries\AIR32F10xLib\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1434,26 +1436,28 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\libraries\AIR32F10xLib\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\libraries</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\libraries</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\libraries\AIR32F10xLib\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2216,7 +2220,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2237,10 +2247,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2341,15 +2351,15 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
@@ -2363,19 +2373,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2402,6 +2412,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2423,4 +2451,10 @@
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 100 - 24
bsp/airm2m/air32f103/project.uvprojx

@@ -335,9 +335,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, RT_USING_LIBC, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>libraries\rt_drivers;applications;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;.;libraries\CMSIS\Include;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;board\ports;..\..\..\components\libc\compilers\common\extension;libraries;..\..\..\components\drivers\include;libraries\AIR32F10xLib\inc;..\..\..\components\libc\posix\io\epoll;board;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;libraries\rt_drivers;..\..\..\components\libc\posix\io\eventfd;..\..\..\libcpu\arm\cortex-m3;..\..\..\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\extension;board;..\..\..\components\libc\posix\io\epoll;board\ports;libraries\CMSIS\Include;..\..\..\components\drivers\include;libraries;..\..\..\components\finsh;libraries\AIR32F10xLib\inc;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -470,9 +470,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -603,9 +641,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -622,9 +660,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -864,23 +902,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -933,9 +971,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -952,9 +990,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -971,9 +1009,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -990,9 +1028,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1009,9 +1047,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1179,6 +1217,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>

+ 0 - 2468
bsp/amebaz/project.ewp

@@ -1,2468 +0,0 @@
-<project>
-  <fileVersion>2</fileVersion>
-  <configuration>
-    <name>Debug</name>
-    <toolchain>
-      <name>ARM</name>
-    </toolchain>
-    <debug>1</debug>
-    <settings>
-      <name>General</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <version>22</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>ExePath</name>
-          <state>Debug\Exe</state>
-        </option>
-        <option>
-          <name>ObjPath</name>
-          <state>Debug\Obj</state>
-        </option>
-        <option>
-          <name>ListPath</name>
-          <state>Debug\List</state>
-        </option>
-        <option>
-          <name>Variant</name>
-          <version>21</version>
-          <state>39</state>
-        </option>
-        <option>
-          <name>GEndianMode</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input variant</name>
-          <version>3</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input description</name>
-          <state>Automatic choice of formatter.</state>
-        </option>
-        <option>
-          <name>Output variant</name>
-          <version>2</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Output description</name>
-          <state>Automatic choice of formatter.</state>
-        </option>
-        <option>
-          <name>GOutputBinary</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FPU</name>
-          <version>3</version>
-          <state>5</state>
-        </option>
-        <option>
-          <name>OGCoreOrChip</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelect</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelectSlave</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>RTDescription</name>
-          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
-        </option>
-        <option>
-          <name>OGProductVersion</name>
-          <state>7.30.4.8186</state>
-        </option>
-        <option>
-          <name>OGLastSavedByProductVersion</name>
-          <state>7.30.4.8186</state>
-        </option>
-        <option>
-          <name>GeneralEnableMisra</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraVerbose</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGChipSelectEditMenu</name>
-          <state>Default	None</state>
-        </option>
-        <option>
-          <name>GenLowLevelInterface</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GEndianModeBE</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OGBufferedTerminalOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenStdoutInterface</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>GeneralMisraVer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>RTConfigPath2</name>
-          <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
-        </option>
-        <option>
-          <name>GFPUCoreSlave</name>
-          <version>21</version>
-          <state>39</state>
-        </option>
-        <option>
-          <name>GBECoreSlave</name>
-          <version>21</version>
-          <state>39</state>
-        </option>
-        <option>
-          <name>OGUseCmsis</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGUseCmsisDspLib</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibThreads</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>ICCARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>31</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>CCDefines</name>
-          <state />
-          <state>CONFIG_PLATFORM_8711B</state>
-          <state>CONFIG_BUILD_ROM</state>
-          <state>PLATFORM_RTTHREAD</state>
-          <state>__IEEE_LITTLE_ENDIAN</state>
-          <state>RT_USING_DLIBC</state>
-          <state>_DLIB_FILE_DESCRIPTOR</state>
-          <state>_DLIB_THREAD_SUPPORT</state>
-          <state>CONFIG_PLATFORM_8711B</state>
-          <state>PLATFORM_RTTHREAD</state>
-          <state>__IEEE_LITTLE_ENDIAN</state>
-          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
-          <state>RT_USING_DLIBC</state>
-          <state>RT_USING_LIBC</state>
-          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
-          <state>__RTTHREAD__</state>
-          <state>__RT_IPC_SOURCE__</state>
-          <state>__RT_KERNEL_SOURCE__</state>
-        </option>
-        <option>
-          <name>CCPreprocFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocComments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMnemonics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMessages</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagSuppress</name>
-          <state>Be006,Pa050,Pa039,Pa089,Pe014,Pe047,Pe068,Pe089,Pe167,Pe177,Pe186,Pe188,Pe375,Pe550,Pe550,Pe223,Pe549,Pe550</state>
-        </option>
-        <option>
-          <name>CCDiagRemark</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagWarning</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagError</name>
-          <state />
-        </option>
-        <option>
-          <name>CCObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCAllowList</name>
-          <version>1</version>
-          <state>11111110</state>
-        </option>
-        <option>
-          <name>CCDebugInfo</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IEndianMode</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IExtraOptionsCheck</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IExtraOptions</name>
-          <state>--enum_is_int</state>
-        </option>
-        <option>
-          <name>CCLangConformance</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCSignedPlainChar</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCRequirePrototypes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagWarnAreErr</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCompilerRuntimeInfo</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>CCLibConfigHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>PreInclude</name>
-          <state />
-        </option>
-        <option>
-          <name>CompilerMisraOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCIncludePath2</name>
-          <state />
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\wlan_ram_map\rom</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\platform</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\include</state>
-          <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\posix</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\include</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\src</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-dhcpd</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\netif</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\libc\rom\string</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal_ext</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\polarssl-1.3.8\include</state>
-          <state>$PROJ_DIR$\drivers\wlan</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\portable\IAR\ARM_CM4F</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\ipv4</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\port</state>
-          <state>$PROJ_DIR$\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\rtl_lib</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\os</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\wlan</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\src\osdep</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\ssl_ram_map\rom</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\libraries\smartconfig\inc</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\api</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b</state>
-        </option>
-        <option>
-          <name>CCStdIncCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCodeSection</name>
-          <state>.text</state>
-        </option>
-        <option>
-          <name>IInterwork2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IProcessorMode2</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptLevel</name>
-          <state>3</state>
-        </option>
-        <option>
-          <name>CCOptStrategy</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptLevelSlave</name>
-          <state>3</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>CCPosIndRopi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndRwpi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndNoDynInit</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccLang</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccAllowVLA</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCppDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccExceptions</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccRTTI</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccStaticDestr</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccCppInlineSemantics</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccFloatSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptimizationNoSizeConstraints</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCNoLiteralPool</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptStrategySlave</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCGuardCalls</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>AARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>9</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>AObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AEndian</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>ACaseSensitivity</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacroChars</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnWhat</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnOne</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange1</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange2</name>
-          <state />
-        </option>
-        <option>
-          <name>ADebug</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AltRegisterNames</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ADefines</name>
-          <state />
-        </option>
-        <option>
-          <name>AList</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AListHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AListing</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>Includes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacDefs</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacExps</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacExec</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OnlyAssed</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MultiLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLengthCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLength</name>
-          <state>80</state>
-        </option>
-        <option>
-          <name>TabSpacing</name>
-          <state>8</state>
-        </option>
-        <option>
-          <name>AXRef</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDefines</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefInternal</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDual</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AOutputFile</name>
-          <state>$FILE_BNAME$.o</state>
-        </option>
-        <option>
-          <name>AMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsEdit</name>
-          <state>100</state>
-        </option>
-        <option>
-          <name>AIgnoreStdInclude</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AUserIncludes</name>
-          <state />
-        </option>
-        <option>
-          <name>AExtraOptionsCheckV2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AExtraOptionsV2</name>
-          <state />
-        </option>
-        <option>
-          <name>AsmNoLiteralPool</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>OBJCOPY</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>1</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>OOCOutputFormat</name>
-          <version>2</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OCOutputOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OOCOutputFile</name>
-          <state>template.srec</state>
-        </option>
-        <option>
-          <name>OOCCommandLineProducer</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCObjCopyEnable</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>CUSTOM</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <extensions />
-        <cmdline />
-        <hasPrio>0</hasPrio>
-      </data>
-    </settings>
-    <settings>
-      <name>BICOMP</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-    <settings>
-      <name>BUILDACTION</name>
-      <archiveVersion>1</archiveVersion>
-      <data>
-        <prebuild>CSCRIPT  "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\prebuild.vbs" "$PROJ_DIR$" "1" "0x08080000"</prebuild>
-        <postbuild>CSCRIPT  "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\postbuild_img2.vbs" "$TARGET_DIR$" "$PROJ_DIR$"</postbuild>
-      </data>
-    </settings>
-    <settings>
-      <name>ILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>16</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>IlinkLibIOConfig</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>XLinkMisraHandler</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkInputFileSlave</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOutputFile</name>
-          <state>application.axf</state>
-        </option>
-        <option>
-          <name>IlinkDebugInfoEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkKeepSymbols</name>
-          <state>bootloader</state>
-        </option>
-        <option>
-          <name>IlinkRawBinaryFile</name>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\image\boot_all.bin</state>
-        </option>
-        <option>
-          <name>IlinkRawBinarySymbol</name>
-          <state>bootloader</state>
-        </option>
-        <option>
-          <name>IlinkRawBinarySegment</name>
-          <state>LOADER</state>
-        </option>
-        <option>
-          <name>IlinkRawBinaryAlign</name>
-          <state>4</state>
-        </option>
-        <option>
-          <name>IlinkDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkConfigDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkMapFile</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLogFile</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkLogInitialization</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogModule</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogSection</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogVeneer</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkIcfOverride</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile</name>
-          <state>$PROJ_DIR$\image2.icf</state>
-        </option>
-        <option>
-          <name>IlinkIcfFileSlave</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkSuppressDiags</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsRem</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsWarn</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsErr</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkWarningsAreErrors</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkUseExtraOptions</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkLowLevelInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAutoLibEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAdditionalLibs</name>
-          <state />
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_platform.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_rtlstd.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_wlan.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_wps.a</state>
-          <state>$PROJ_DIR$\libraries\smartconfig\libs\libsmartconfig_armcm4_iar.a</state>
-        </option>
-        <option>
-          <name>IlinkOverrideProgramEntryLabel</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabelSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabel</name>
-          <state>Reset_Handler</state>
-        </option>
-        <option>
-          <name>DoFill</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FillerByte</name>
-          <state>0xFF</state>
-        </option>
-        <option>
-          <name>FillerStart</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>FillerEnd</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>CrcSize</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcAlign</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcPoly</name>
-          <state>0x11021</state>
-        </option>
-        <option>
-          <name>CrcCompl</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcBitOrder</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcInitialValue</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>DoCrc</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkBE8Slave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkBufferedTerminalOutput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkStdoutInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcFullSize</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIElfToolPostProcess</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogAutoLibSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogRedirSymbols</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogUnusedFragments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcReverseByteOrder</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcUseAsInput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptInline</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsAllow</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsForce</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptMergeDuplSections</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptUseVfe</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptForceVfe</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackAnalysisEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackControlFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkStackCallGraphFile</name>
-          <state />
-        </option>
-        <option>
-          <name>CrcAlgorithm</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcUnitSize</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkThreadsSlave</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>IARCHIVE</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>0</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>1</debug>
-        <option>
-          <name>IarchiveInputs</name>
-          <state />
-        </option>
-        <option>
-          <name>IarchiveOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IarchiveOutput</name>
-          <state>###Unitialized###</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>BILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-  </configuration>
-  <configuration>
-    <name>Release</name>
-    <toolchain>
-      <name>ARM</name>
-    </toolchain>
-    <debug>0</debug>
-    <settings>
-      <name>General</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <version>22</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>ExePath</name>
-          <state>Release\Exe</state>
-        </option>
-        <option>
-          <name>ObjPath</name>
-          <state>Release\Obj</state>
-        </option>
-        <option>
-          <name>ListPath</name>
-          <state>Release\List</state>
-        </option>
-        <option>
-          <name>Variant</name>
-          <version>21</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GEndianMode</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input variant</name>
-          <version>3</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Input description</name>
-          <state />
-        </option>
-        <option>
-          <name>Output variant</name>
-          <version>2</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>Output description</name>
-          <state />
-        </option>
-        <option>
-          <name>GOutputBinary</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FPU</name>
-          <version>3</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGCoreOrChip</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelect</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GRuntimeLibSelectSlave</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>RTDescription</name>
-          <state />
-        </option>
-        <option>
-          <name>OGProductVersion</name>
-          <state>7.30.4.8186</state>
-        </option>
-        <option>
-          <name>OGLastSavedByProductVersion</name>
-          <state />
-        </option>
-        <option>
-          <name>GeneralEnableMisra</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraVerbose</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGChipSelectEditMenu</name>
-          <state />
-        </option>
-        <option>
-          <name>GenLowLevelInterface</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GEndianModeBE</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGBufferedTerminalOutput</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GenStdoutInterface</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>GeneralMisraVer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GeneralMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>RTConfigPath2</name>
-          <state />
-        </option>
-        <option>
-          <name>GFPUCoreSlave</name>
-          <version>21</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>GBECoreSlave</name>
-          <version>21</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OGUseCmsis</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OGUseCmsisDspLib</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>GRuntimeLibThreads</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>ICCARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>31</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>CCDefines</name>
-          <state>NDEBUG</state>
-          <state>CONFIG_PLATFORM_8711B</state>
-          <state>PLATFORM_RTTHREAD</state>
-          <state>__IEEE_LITTLE_ENDIAN</state>
-          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
-          <state>RT_USING_DLIBC</state>
-          <state>RT_USING_LIBC</state>
-          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
-          <state>__RTTHREAD__</state>
-          <state>__RT_IPC_SOURCE__</state>
-          <state>__RT_KERNEL_SOURCE__</state>
-        </option>
-        <option>
-          <name>CCPreprocFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocComments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPreprocLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMnemonics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListCMessages</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCListAssSource</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagSuppress</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagRemark</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagWarning</name>
-          <state />
-        </option>
-        <option>
-          <name>CCDiagError</name>
-          <state />
-        </option>
-        <option>
-          <name>CCObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCAllowList</name>
-          <version>1</version>
-          <state>11111110</state>
-        </option>
-        <option>
-          <name>CCDebugInfo</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IEndianMode</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IExtraOptionsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>CCLangConformance</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCSignedPlainChar</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCRequirePrototypes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCDiagWarnAreErr</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCompilerRuntimeInfo</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OutputFile</name>
-          <state />
-        </option>
-        <option>
-          <name>CCLibConfigHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>PreInclude</name>
-          <state />
-        </option>
-        <option>
-          <name>CompilerMisraOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCIncludePath2</name>
-          <state />
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\wlan_ram_map\rom</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\platform</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\include</state>
-          <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\posix</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\include</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\src</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-dhcpd</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\netif</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\libc\rom\string</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal_ext</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\polarssl-1.3.8\include</state>
-          <state>$PROJ_DIR$\drivers\wlan</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\portable\IAR\ARM_CM4F</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\include\ipv4</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip\port</state>
-          <state>$PROJ_DIR$\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\rtl_lib</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\os</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\wlan</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\src\osdep</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\ssl_ram_map\rom</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\include</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\libraries\smartconfig\inc</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\api</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b</state>
-        </option>
-        <option>
-          <name>CCStdIncCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCCodeSection</name>
-          <state>.text</state>
-        </option>
-        <option>
-          <name>IInterwork2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IProcessorMode2</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CCOptLevel</name>
-          <state>3</state>
-        </option>
-        <option>
-          <name>CCOptStrategy</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptLevelSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules98</name>
-          <version>0</version>
-          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
-        </option>
-        <option>
-          <name>CompilerMisraRules04</name>
-          <version>0</version>
-          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
-        </option>
-        <option>
-          <name>CCPosIndRopi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndRwpi</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCPosIndNoDynInit</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccLang</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccAllowVLA</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCppDialect</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccExceptions</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccRTTI</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccStaticDestr</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccCppInlineSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IccCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IccFloatSemantics</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptimizationNoSizeConstraints</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCNoLiteralPool</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCOptStrategySlave</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CCGuardCalls</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>AARM</name>
-      <archiveVersion>2</archiveVersion>
-      <data>
-        <version>9</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>AObjPrefix</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AEndian</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>ACaseSensitivity</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacroChars</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnWhat</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AWarnOne</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange1</name>
-          <state />
-        </option>
-        <option>
-          <name>AWarnRange2</name>
-          <state />
-        </option>
-        <option>
-          <name>ADebug</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AltRegisterNames</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ADefines</name>
-          <state />
-        </option>
-        <option>
-          <name>AList</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AListHeader</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AListing</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>Includes</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacDefs</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MacExps</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>MacExec</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OnlyAssed</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>MultiLine</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLengthCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>PageLength</name>
-          <state>80</state>
-        </option>
-        <option>
-          <name>TabSpacing</name>
-          <state>8</state>
-        </option>
-        <option>
-          <name>AXRef</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDefines</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefInternal</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AXRefDual</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AFpuProcessor</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>AOutputFile</name>
-          <state />
-        </option>
-        <option>
-          <name>AMultibyteSupport</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsCheck</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>ALimitErrorsEdit</name>
-          <state>100</state>
-        </option>
-        <option>
-          <name>AIgnoreStdInclude</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AUserIncludes</name>
-          <state />
-        </option>
-        <option>
-          <name>AExtraOptionsCheckV2</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>AExtraOptionsV2</name>
-          <state />
-        </option>
-        <option>
-          <name>AsmNoLiteralPool</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>OBJCOPY</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>1</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>OOCOutputFormat</name>
-          <version>2</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OCOutputOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>OOCOutputFile</name>
-          <state />
-        </option>
-        <option>
-          <name>OOCCommandLineProducer</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>OOCObjCopyEnable</name>
-          <state>0</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>CUSTOM</name>
-      <archiveVersion>3</archiveVersion>
-      <data>
-        <extensions />
-        <cmdline />
-        <hasPrio>0</hasPrio>
-      </data>
-    </settings>
-    <settings>
-      <name>BICOMP</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-    <settings>
-      <name>BUILDACTION</name>
-      <archiveVersion>1</archiveVersion>
-      <data>
-        <prebuild />
-        <postbuild />
-      </data>
-    </settings>
-    <settings>
-      <name>ILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>16</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>IlinkLibIOConfig</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>XLinkMisraHandler</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkInputFileSlave</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOutputFile</name>
-          <state>###Unitialized###</state>
-        </option>
-        <option>
-          <name>IlinkDebugInfoEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkKeepSymbols</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySymbol</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinarySegment</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkRawBinaryAlign</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkConfigDefines</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkMapFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogFile</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogInitialization</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogModule</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogSection</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogVeneer</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIcfFile</name>
-          <state>lnk0t.icf</state>
-        </option>
-        <option>
-          <name>IlinkIcfFileSlave</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkEnableRemarks</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkSuppressDiags</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsRem</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsWarn</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkTreatAsErr</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkWarningsAreErrors</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkUseExtraOptions</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkExtraOptions</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkLowLevelInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAutoLibEnable</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkAdditionalLibs</name>
-          <state />
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_platform.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_rtlstd.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_wlan.a</state>
-          <state>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\bsp\lib\common\IAR\lib_wps.a</state>
-          <state>$PROJ_DIR$\libraries\smartconfig\libs\libsmartconfig_armcm4_iar.a</state>
-        </option>
-        <option>
-          <name>IlinkOverrideProgramEntryLabel</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabelSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkProgramEntryLabel</name>
-          <state />
-        </option>
-        <option>
-          <name>DoFill</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>FillerByte</name>
-          <state>0xFF</state>
-        </option>
-        <option>
-          <name>FillerStart</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>FillerEnd</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>CrcSize</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcAlign</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcPoly</name>
-          <state>0x11021</state>
-        </option>
-        <option>
-          <name>CrcCompl</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcBitOrder</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>CrcInitialValue</name>
-          <state>0x0</state>
-        </option>
-        <option>
-          <name>DoCrc</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkBE8Slave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkBufferedTerminalOutput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkStdoutInterfaceSlave</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcFullSize</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkIElfToolPostProcess</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogAutoLibSelect</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogRedirSymbols</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkLogUnusedFragments</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcReverseByteOrder</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCrcUseAsInput</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptInline</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsAllow</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptExceptionsForce</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkCmsis</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptMergeDuplSections</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkOptUseVfe</name>
-          <state>1</state>
-        </option>
-        <option>
-          <name>IlinkOptForceVfe</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackAnalysisEnable</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkStackControlFile</name>
-          <state />
-        </option>
-        <option>
-          <name>IlinkStackCallGraphFile</name>
-          <state />
-        </option>
-        <option>
-          <name>CrcAlgorithm</name>
-          <version>0</version>
-          <state>1</state>
-        </option>
-        <option>
-          <name>CrcUnitSize</name>
-          <version>0</version>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IlinkThreadsSlave</name>
-          <state>1</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>IARCHIVE</name>
-      <archiveVersion>0</archiveVersion>
-      <data>
-        <version>0</version>
-        <wantNonLocal>1</wantNonLocal>
-        <debug>0</debug>
-        <option>
-          <name>IarchiveInputs</name>
-          <state />
-        </option>
-        <option>
-          <name>IarchiveOverride</name>
-          <state>0</state>
-        </option>
-        <option>
-          <name>IarchiveOutput</name>
-          <state>###Unitialized###</state>
-        </option>
-      </data>
-    </settings>
-    <settings>
-      <name>BILINK</name>
-      <archiveVersion>0</archiveVersion>
-      <data />
-    </settings>
-  </configuration>
-  <group>
-    <name>amebaz_sdk</name>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\us_ticker.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\timer_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\wait_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\analogin_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\serial_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\i2c_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\spi_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\os\rtthread_service.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\i2s_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\osdep_service.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\common\wifi\wifi_conf.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\efuse_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\rtc_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\wpa_supplicant\wifi_eap_config.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\wdt_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pinmap_common.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_util.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\app_start.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device\system_8195a.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\rtl8710b_startup.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pwmout_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\nfc_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pinmap.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\dma_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\sys_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\ram\monitor.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_promisc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_ind.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\gpio_irq_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\sleep.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\ram\rtl_consol.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\ram_lib\rtl8710b_intfcfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\port_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\flash_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\us_ticker_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\gpio_api.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\ram_lib\rtl8710b_pinmapcfg.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Applications</name>
-    <file>
-      <name>$PROJ_DIR$\applications\smartconfig_app.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\applications\main.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Compiler</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\cctype.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\cstdlib.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\cstring.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\ctime.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\cunistd.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\common\cwchar.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\environ.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_close.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_open.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_read.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_write.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscalls.c</name>
-    </file>
-  </group>
-  <group>
-    <name>DeviceDrivers</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\core\device.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\completion.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\dataqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\pipe.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\ringblk_buf.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\ringbuffer.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\waitqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\workqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\serial\serial.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_cfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_cmd.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_dev.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_lwip.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_mgnt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_prot.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\wlan\wlan_workqueue.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Drivers</name>
-    <file>
-      <name>$PROJ_DIR$\drivers\board.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\drivers\drv_uart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\drivers\wlan\drv_wifi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\drivers\wlan\drv_wlan.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\shell.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\msh.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\msh_parse.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\cmd.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Kernel</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\clock.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\components.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\idle.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\ipc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\irq.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\klibc\kstdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\klibc\kstring.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\kservice.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\mem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\mempool.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\object.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\scheduler_comm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\scheduler_up.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\thread.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\src\timer.c</name>
-    </file>
-  </group>
-  <group>
-    <name>libcpu</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\libcpu\arm\common\div0.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\libcpu\arm\common\showmem.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
-    </file>
-  </group>
-  <group>
-    <name>Libraries</name>
-  </group>
-  <group>
-    <name>lwIP</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-dhcpd\dhcp_server_raw.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\api_lib.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\api_msg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\err.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\netbuf.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\netdb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\netifapi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\sockets.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\api\tcpip.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\apps\ping\ping.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\def.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\dns.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\inet_chksum.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\init.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ip.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\autoip.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\dhcp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\etharp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\icmp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\igmp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\ip4.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\ip4_addr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\ipv4\ip4_frag.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\memp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\netif.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\pbuf.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\raw.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\stats.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\sys.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\tcp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\tcp_in.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\tcp_out.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\timeouts.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\core\udp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\netif\ethernet.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\lwip-2.0.3\src\netif\lowpan6.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\port\ethernetif.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip\port\sys_arch.c</name>
-    </file>
-  </group>
-  <group>
-    <name>POSIX</name>
-  </group>
-</project>

+ 76 - 42
bsp/apm32/apm32e103ze-evalboard/project.ewp

@@ -352,27 +352,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1452,27 +1454,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2307,9 +2317,6 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
@@ -2319,6 +2326,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2392,19 +2420,19 @@
       <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</name>
@@ -2413,4 +2441,10 @@
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 115 - 39
bsp/apm32/apm32e103ze-evalboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, APM32E10X_HD, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, USE_STDPERIPH_DRIVER, APM32E10X_HD, RT_USING_ARMLIBC, __RTTHREAD__, __STDC_LIMIT_MACROS</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;board;..\..\..\libcpu\arm\cortex-m3;applications;..\..\..\components\libc\compilers\common\include;..\libraries\Drivers\config;..\..\..\components\finsh;..\libraries\Drivers;.;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\libraries\APM32E10x_Library\CMSIS\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc;..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include;board\ports;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\poll;board\ports;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\Drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;applications;..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include;..\..\..\components\finsh;..\..\..\libcpu\arm\common;..\..\..\components\drivers\phy;board;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc;..\libraries\Drivers\config;..\..\..\libcpu\arm\cortex-m3;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\APM32E10x_Library\CMSIS\Include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;.</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -679,6 +717,13 @@
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
+          <Files>
+            <File>
+              <FileName>cmd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+            </File>
+          </Files>
           <Files>
             <File>
               <FileName>shell.c</FileName>
@@ -700,13 +745,6 @@
               <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>cmd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
-            </File>
-          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,51 +1114,51 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32e10x_eint.c</FileName>
+              <FileName>apm32e10x_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_misc.c</FileName>
+              <FileName>apm32e10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_gpio.c</FileName>
+              <FileName>apm32e10x_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32e10x.c</FileName>
+              <FileName>apm32e10x_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_usart.c</FileName>
+              <FileName>system_apm32e10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_rcm.c</FileName>
+              <FileName>apm32e10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_dma.c</FileName>
+              <FileName>apm32e10x_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</FilePath>
             </File>
           </Files>
         </Group>

+ 78 - 44
bsp/apm32/apm32e103ze-tinyboard/project.ewp

@@ -353,26 +353,28 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1453,26 +1455,28 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2308,16 +2318,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2392,25 +2420,31 @@
       <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_misc.c</name>
+    </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32e103ze-tinyboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, APM32E10X_HD, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC</Define>
+              <Define>__RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, APM32E10X_HD, __STDC_LIMIT_MACROS, RT_USING_LIBC, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;board\ports;..\libraries\Drivers;.;..\..\..\components\libc\compilers\common\include;board;..\libraries\Drivers\config;..\..\..\components\finsh;applications;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\libraries\APM32E10x_Library\CMSIS\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc;..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>board\ports;..\..\..\components\drivers\include;..\libraries\Drivers\config;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\cortex-m3;..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\phy;.;..\..\..\components\finsh;..\libraries\APM32E10x_Library\CMSIS\Include;..\..\..\components\libc\posix\ipc;..\..\..\libcpu\arm\common;applications;board;..\libraries\Drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\inc;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,30 +719,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,9 +1114,9 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32e10x_eint.c</FileName>
+              <FileName>apm32e10x_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1052,37 +1128,37 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_gpio.c</FileName>
+              <FileName>apm32e10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32e10x.c</FileName>
+              <FileName>apm32e10x_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_usart.c</FileName>
+              <FileName>system_apm32e10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_usart.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\Device\Geehy\APM32E10x\Source\system_apm32e10x.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_rcm.c</FileName>
+              <FileName>apm32e10x_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32e10x_dma.c</FileName>
+              <FileName>apm32e10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_dma.c</FilePath>
+              <FilePath>..\libraries\APM32E10x_Library\APM32E10x_StdPeriphDriver\src\apm32e10x_gpio.c</FilePath>
             </File>
           </Files>
         </Group>

+ 82 - 48
bsp/apm32/apm32f030r8-miniboard/project.ewp

@@ -356,26 +356,28 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1455,26 +1457,28 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2258,7 +2262,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2279,10 +2289,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2306,16 +2316,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2327,19 +2337,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2366,6 +2376,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2387,25 +2415,31 @@
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 108 - 32
bsp/apm32/apm32f030r8-miniboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, APM32F030x8</Define>
+              <Define>APM32F030x8, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __RTTHREAD__, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;board;..\..\..\components\libc\compilers\common\include;.;..\libraries\Drivers\config;..\..\..\components\finsh;..\libraries\Drivers;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\poll;..\..\..\include;..\..\..\components\drivers\include;.;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\phy;..\libraries\Drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers\config;applications;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\libcpu\arm\common;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;..\..\..\libcpu\arm\cortex-m0;..\..\..\components\drivers\include;board</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,30 +719,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1031,9 +1107,9 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32f0xx_eint.c</FileName>
+              <FileName>apm32f0xx_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1045,9 +1121,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_gpio.c</FileName>
+              <FileName>apm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1066,9 +1142,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_syscfg.c</FileName>
+              <FileName>apm32f0xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
             </File>
           </Files>
           <Files>

+ 79 - 45
bsp/apm32/apm32f051r8-evalboard/project.ewp

@@ -356,27 +356,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1456,27 +1458,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2308,16 +2318,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2385,29 +2413,35 @@
   </group>
   <group>
     <name>Libraries</name>
+    <file>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
-    </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32f051r8-evalboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, APM32F051x8, __RTTHREAD__</Define>
+              <Define>APM32F051x8, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;..\libraries\Drivers\config;applications;.;board;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;board\ports;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\phy;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;applications;..\..\..\components\libc\posix\io\poll;..\libraries\Drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\APM32F0xx_Library\CMSIS\Include;board\ports;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\..\..\libcpu\arm\cortex-m0;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\..\..\components\libc\posix\io\epoll;board;..\libraries\Drivers\config;.;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,16 +719,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -702,9 +740,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1031,51 +1107,51 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32f0xx_eint.c</FileName>
+              <FileName>apm32f0xx_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_misc.c</FileName>
+              <FileName>apm32f0xx_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_gpio.c</FileName>
+              <FileName>apm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32f0xx.c</FileName>
+              <FileName>apm32f0xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_usart.c</FileName>
+              <FileName>system_apm32f0xx.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_syscfg.c</FileName>
+              <FileName>apm32f0xx_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_rcm.c</FileName>
+              <FileName>apm32f0xx_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</FilePath>
             </File>
           </Files>
         </Group>

+ 79 - 45
bsp/apm32/apm32f072vb-miniboard/project.ewp

@@ -356,27 +356,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1456,27 +1458,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2307,15 +2317,15 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2386,28 +2414,34 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32f072vb-miniboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, APM32F072xB</Define>
+              <Define>USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, APM32F072xB, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;.;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;..\libraries\Drivers\config;board\ports;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;board;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\smp_call;board\ports;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\include;applications;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\include;board;..\..\..\libcpu\arm\common;..\libraries\Drivers\config;..\..\..\components\finsh;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\components\libc\posix\io\epoll;.;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers;..\..\..\libcpu\arm\cortex-m0;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\..\..\components\drivers\phy;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -679,13 +717,6 @@
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
-          <Files>
-            <File>
-              <FileName>shell.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>msh.c</FileName>
@@ -707,6 +738,13 @@
               <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>shell.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+            </File>
+          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1029,13 +1105,6 @@
         </Group>
         <Group>
           <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>apm32f0xx_eint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>apm32f0xx_misc.c</FileName>
@@ -1045,9 +1114,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_gpio.c</FileName>
+              <FileName>apm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1066,16 +1135,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_syscfg.c</FileName>
+              <FileName>apm32f0xx_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_rcm.c</FileName>
+              <FileName>apm32f0xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>apm32f0xx_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
             </File>
           </Files>
         </Group>

+ 80 - 46
bsp/apm32/apm32f091vc-miniboard/project.ewp

@@ -356,27 +356,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1456,27 +1458,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m0</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2308,16 +2318,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2389,25 +2417,31 @@
       <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 112 - 36
bsp/apm32/apm32f091vc-miniboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, APM32F091xC, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>APM32F091xC, USE_STDPERIPH_DRIVER, __RTTHREAD__, __STDC_LIMIT_MACROS, RT_USING_LIBC, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;..\libraries\APM32F0xx_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;board;..\libraries\Drivers\config;.;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include;board\ports;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>applications;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;board\ports;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m0;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\libraries\APM32F0xx_Library\CMSIS\Include;..\libraries\Drivers\config;.;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;board;..\libraries\Drivers;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\components\finsh;..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\inc;..\..\..\components\drivers\include;..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,16 +719,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1031,51 +1107,51 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32f0xx_eint.c</FileName>
+              <FileName>apm32f0xx_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_misc.c</FileName>
+              <FileName>apm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_gpio.c</FileName>
+              <FileName>system_apm32f0xx.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32f0xx.c</FileName>
+              <FileName>apm32f0xx_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\Device\Geehy\APM32F0xx\Source\system_apm32f0xx.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_usart.c</FileName>
+              <FileName>apm32f0xx_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_syscfg.c</FileName>
+              <FileName>apm32f0xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_syscfg.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f0xx_rcm.c</FileName>
+              <FileName>apm32f0xx_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F0xx_Library\APM32F0xx_StdPeriphDriver\src\apm32f0xx_gpio.c</FilePath>
             </File>
           </Files>
         </Group>

+ 84 - 50
bsp/apm32/apm32f103vb-miniboard/project.ewp

@@ -352,28 +352,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1453,28 +1455,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2262,7 +2266,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2283,10 +2293,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2312,15 +2322,15 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2331,19 +2341,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2370,6 +2380,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2391,28 +2419,34 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32f103vb-miniboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, APM32F10X_HD</Define>
+              <Define>USE_STDPERIPH_DRIVER, APM32F10X_HD, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;board\ports;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;..\libraries\APM32F10x_Library\CMSIS\Include;..\libraries\Drivers;board;.;..\libraries\Drivers\config;applications;..\..\..\components\finsh;..\..\..\components\drivers\include;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\Drivers;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m3;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\APM32F10x_Library\CMSIS\Include;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc;..\..\..\components\drivers\smp_call;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;..\..\..\components\libc\posix\io\eventfd;..\libraries\Drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\finsh;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;.;..\..\..\components\drivers\include;board\ports;..\..\..\components\libc\posix\ipc;board;..\..\..\components\libc\compilers\common\include;..\..\..\include;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,30 +719,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,23 +1114,23 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>system_apm32f10x.c</FileName>
+              <FileName>apm32f10x_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_rcm.c</FileName>
+              <FileName>apm32f10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_misc.c</FileName>
+              <FileName>apm32f10x_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1066,23 +1142,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_eint.c</FileName>
+              <FileName>system_apm32f10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_gpio.c</FileName>
+              <FileName>apm32f10x_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_dma.c</FileName>
+              <FileName>apm32f10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
             </File>
           </Files>
         </Group>

+ 82 - 48
bsp/apm32/apm32f103xe-minibroard/project.ewp

@@ -354,28 +354,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1440,28 +1442,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2232,7 +2236,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2253,10 +2263,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2280,10 +2290,10 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
@@ -2301,19 +2311,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2340,6 +2350,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2361,14 +2389,11 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</name>
     </file>
@@ -2376,13 +2401,22 @@
       <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 115 - 39
bsp/apm32/apm32f103xe-minibroard/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, APM32F10X_HD</Define>
+              <Define>__RTTHREAD__, RT_USING_ARMLIBC, RT_USING_LIBC, __STDC_LIMIT_MACROS, APM32F10X_HD, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;..\libraries\APM32F10x_Library\CMSIS\Include;..\libraries\Drivers;board\ports;..\..\..\components\libc\compilers\common\include;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;..\libraries\Drivers\config;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;.;board;..\..\..\components\drivers\include;applications;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\epoll;board\ports;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;board;.;..\libraries\Drivers;..\libraries\Drivers\config;..\libraries\APM32F10x_Library\CMSIS\Include;..\..\..\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m3;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -468,9 +468,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -601,9 +639,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -620,9 +658,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -678,6 +716,13 @@
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
+          <Files>
+            <File>
+              <FileName>cmd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+            </File>
+          </Files>
           <Files>
             <File>
               <FileName>shell.c</FileName>
@@ -699,13 +744,6 @@
               <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>cmd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
-            </File>
-          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -749,9 +787,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -768,9 +806,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -787,9 +825,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -806,9 +844,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -825,9 +863,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -995,6 +1033,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1037,51 +1113,51 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>system_apm32f10x.c</FileName>
+              <FileName>apm32f10x_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_rcm.c</FileName>
+              <FileName>apm32f10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_misc.c</FileName>
+              <FileName>system_apm32f10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_usart.c</FileName>
+              <FileName>apm32f10x_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_eint.c</FileName>
+              <FileName>apm32f10x_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_gpio.c</FileName>
+              <FileName>apm32f10x_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_dma.c</FileName>
+              <FileName>apm32f10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
             </File>
           </Files>
         </Group>

+ 80 - 46
bsp/apm32/apm32f107vc-evalboard/project.ewp

@@ -352,28 +352,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1453,28 +1455,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\libraries\APM32F10x_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2262,7 +2266,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2283,10 +2293,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2331,19 +2341,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2370,6 +2380,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2391,28 +2419,34 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_rcm.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32f107vc-evalboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>APM32F10X_CL, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>__RTTHREAD__, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, APM32F10X_CL, RT_USING_LIBC, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;board\ports;..\libraries\APM32F10x_Library\CMSIS\Include;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;board;..\libraries\Drivers\config;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;.;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>applications;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m3;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;.;..\libraries\Drivers;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\eventfd;..\libraries\APM32F10x_Library\CMSIS\Include;..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\common;board;..\libraries\APM32F10x_Library\APM32F10x_ETH_Driver\inc;..\libraries\Drivers\config;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;board\ports;..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\inc;..\..\..\components\libc\posix\ipc</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,30 +719,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,9 +1114,9 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>system_apm32f10x.c</FileName>
+              <FileName>apm32f10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1052,37 +1128,37 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_misc.c</FileName>
+              <FileName>apm32f10x_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_usart.c</FileName>
+              <FileName>apm32f10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_eint.c</FileName>
+              <FileName>apm32f10x_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_gpio.c</FileName>
+              <FileName>apm32f10x_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f10x_dma.c</FileName>
+              <FileName>system_apm32f10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F10x_Library\APM32F10x_StdPeriphDriver\src\apm32f10x_dma.c</FilePath>
+              <FilePath>..\libraries\APM32F10x_Library\Device\Geehy\APM32F10x\Source\system_apm32f10x.c</FilePath>
             </File>
           </Files>
         </Group>

+ 80 - 46
bsp/apm32/apm32f407ig-minibroard/project.ewp

@@ -354,27 +354,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1439,27 +1441,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2230,7 +2234,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2251,10 +2261,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2281,13 +2291,13 @@
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2299,19 +2309,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2338,6 +2348,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2358,32 +2386,38 @@
   </group>
   <group>
     <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_syscfg.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</name>
+    </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 114 - 38
bsp/apm32/apm32f407ig-minibroard/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, APM32F40X, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, APM32F40X, RT_USING_LIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include;..\libraries\Drivers\config;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;applications;.;board</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;applications;board;..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc;..\..\..\components\libc\posix\ipc;..\libraries\Drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\..\..\components\drivers\phy;.;..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc;..\libraries\Drivers\config;..\..\..\components\libc\posix\io\eventfd;..\libraries\APM32F4xx_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -468,9 +468,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -601,9 +639,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -620,9 +658,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -680,16 +718,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -749,9 +787,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -768,9 +806,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -787,9 +825,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -806,9 +844,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -825,9 +863,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -995,6 +1033,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1037,58 +1113,58 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32f4xx_usart.c</FileName>
+              <FileName>apm32f4xx_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_misc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_syscfg.c</FileName>
+              <FileName>apm32f4xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_syscfg.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_rcm.c</FileName>
+              <FileName>apm32f4xx_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_dma.c</FileName>
+              <FileName>apm32f4xx_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_eint.c</FileName>
+              <FileName>apm32f4xx_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_misc.c</FileName>
+              <FileName>system_apm32f4xx.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_misc.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_gpio.c</FileName>
+              <FileName>apm32f4xx_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32f4xx.c</FileName>
+              <FileName>apm32f4xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_syscfg.c</FilePath>
             </File>
           </Files>
         </Group>

+ 82 - 48
bsp/apm32/apm32f407zg-evalboard/project.ewp

@@ -352,28 +352,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1453,28 +1455,30 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\board\ports</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc</state>
           <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2262,7 +2266,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2283,10 +2293,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2310,16 +2320,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2331,19 +2341,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2370,6 +2380,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2394,28 +2422,34 @@
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_syscfg.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_syscfg.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 110 - 34
bsp/apm32/apm32f407zg-evalboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, APM32F40X, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, APM32F40X, USE_STDPERIPH_DRIVER, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc;.;..\libraries\Drivers;..\..\..\components\libc\compilers\common\include;..\..\..\libcpu\arm\common;..\libraries\Drivers\config;board\ports;..\..\..\components\finsh;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc;board;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\APM32F4xx_Library\CMSIS\Include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\ipc;..\libraries\APM32F4xx_Library\APM32F4xx_ETH_Driver\inc;..\..\..\components\drivers\phy;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;board\ports;..\..\..\components\drivers\smp_call;applications;..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\inc;..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Include;..\..\..\components\drivers\include;..\libraries\Drivers\config;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\eventfd;.;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\libraries\Drivers;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;board;..\..\..\components\libc\compilers\common\include;..\libraries\APM32F4xx_Library\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -681,30 +719,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,9 +1114,9 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32f4xx_usart.c</FileName>
+              <FileName>apm32f4xx_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1059,16 +1135,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_dma.c</FileName>
+              <FileName>system_apm32f4xx.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32f4xx_eint.c</FileName>
+              <FileName>apm32f4xx_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_eint.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_dma.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1087,9 +1163,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32f4xx.c</FileName>
+              <FileName>apm32f4xx_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32F4xx_Library\Device\Geehy\APM32F4xx\Source\system_apm32f4xx.c</FilePath>
+              <FilePath>..\libraries\APM32F4xx_Library\APM32F4xx_StdPeriphDriver\src\apm32f4xx_usart.c</FilePath>
             </File>
           </Files>
         </Group>

+ 82 - 48
bsp/apm32/apm32s103vb-miniboard/project.ewp

@@ -352,27 +352,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1452,27 +1454,29 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\ports</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers</state>
-          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\CMSIS\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\ports</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\libraries\Drivers</state>
+          <state>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2260,7 +2264,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2281,10 +2291,10 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2308,16 +2318,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2329,19 +2339,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2368,6 +2378,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2389,28 +2417,34 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_misc.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Source\system_apm32s10x.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_gpio.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_eint.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_rcm.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_usart.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_dma.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Source\system_apm32s10x.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_misc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_usart.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_rcm.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_eint.c</name>
+      <name>$PROJ_DIR$\..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_gpio.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 113 - 37
bsp/apm32/apm32s103vb-miniboard/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, APM32S10X_MD</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, APM32S10X_MD, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;..\libraries\APM32S10x_Library\CMSIS\Include;..\..\..\components\libc\posix\io\poll;board\ports;..\libraries\Drivers;..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc;..\..\..\components\libc\compilers\common\include;..\libraries\Drivers\config;..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Include;board;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;.;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;applications</IncludePath>
+              <IncludePath>..\libraries\APM32S10x_Library\CMSIS\Include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\libraries\Drivers\config;..\..\..\components\libc\compilers\common\include;applications;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;board;..\..\..\components\drivers\phy;..\..\..\libcpu\arm\common;..\libraries\Drivers;board\ports;..\..\..\components\finsh;..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\inc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m3;.</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -469,9 +469,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -602,9 +640,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -621,9 +659,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -679,13 +717,6 @@
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
-          <Files>
-            <File>
-              <FileName>shell.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>msh.c</FileName>
@@ -707,6 +738,13 @@
               <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>shell.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+            </File>
+          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -750,9 +788,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -769,9 +807,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -996,6 +1034,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1038,23 +1114,23 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>apm32s10x_misc.c</FileName>
+              <FileName>apm32s10x_eint.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_misc.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_eint.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32s10x_gpio.c</FileName>
+              <FileName>apm32s10x_rcm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_gpio.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_rcm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32s10x_rcm.c</FileName>
+              <FileName>apm32s10x_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_rcm.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_misc.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1066,23 +1142,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>system_apm32s10x.c</FileName>
+              <FileName>apm32s10x_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Source\system_apm32s10x.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_usart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32s10x_usart.c</FileName>
+              <FileName>apm32s10x_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_usart.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>apm32s10x_eint.c</FileName>
+              <FileName>system_apm32s10x.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\libraries\APM32S10x_Library\APM32S10x_StdPeriphDriver\src\apm32s10x_eint.c</FilePath>
+              <FilePath>..\libraries\APM32S10x_Library\Device\Geehy\APM32S10x\Source\system_apm32s10x.c</FilePath>
             </File>
           </Files>
         </Group>

+ 196 - 60
bsp/apollo2/project.uvprojx

@@ -368,9 +368,9 @@
             <vShortWch>1</vShortWch>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __RTTHREAD__, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, AM_PART_APOLLO2, AM_PACKAGE_BGA</Define>
+              <Define>RT_USING_ARMLIBC, __RTTHREAD__, AM_PART_APOLLO2, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, AM_PACKAGE_BGA, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\libcpu\arm\cortex-m4;..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\components\drivers\include;..\..\components\libc\compilers\common\include;..\..\components\drivers\include;..\..\libcpu\arm\common;board;libraries\drivers;libraries\startup;..\..\components\finsh;..\..\components\libc\posix\io\epoll;..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\components\drivers\include;..\..\include;..\..\components\libc\posix\io\eventfd;..\..\components\libc\posix\io\poll;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\spi;.;..\..\components\libc\compilers\common\extension;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\dfs\dfs_v1\include;..\..\components\libc\posix\ipc;applications;libraries\startup\cmsis\include</IncludePath>
+              <IncludePath>..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\spi;..\..\components\libc\compilers\common\include;libraries\startup;board;..\..\libcpu\arm\common;..\..\components\drivers\include;..\..\components\drivers\include;applications;.;..\..\components\libc\posix\ipc;..\..\components\finsh;..\..\components\drivers\include;..\..\components\libc\compilers\common\extension;libraries\startup\cmsis\include;..\..\components\drivers\include;..\..\components\libc\posix\io\epoll;..\..\components\drivers\phy;libraries\drivers;..\..\include;..\..\components\drivers\smp_call;..\..\components\libc\posix\io\eventfd;..\..\components\dfs\dfs_v1\include;..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\components\libc\posix\io\poll;..\..\components\drivers\include;..\..\libcpu\arm\cortex-m4;..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -502,9 +502,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>i2c-bit-ops.c</FileName>
+              <FileName>dev_i2c_bit_ops.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath>
+              <FilePath>..\..\components\drivers\i2c\dev_i2c_bit_ops.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -521,9 +521,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>i2c_core.c</FileName>
+              <FileName>dev_i2c_core.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\i2c\i2c_core.c</FilePath>
+              <FilePath>..\..\components\drivers\i2c\dev_i2c_core.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -540,9 +540,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>i2c_dev.c</FileName>
+              <FileName>dev_i2c_dev.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\i2c\i2c_dev.c</FilePath>
+              <FilePath>..\..\components\drivers\i2c\dev_i2c_dev.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -559,9 +559,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -692,9 +730,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -711,9 +749,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rtc.c</FileName>
+              <FileName>dev_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\rtc\rtc.c</FilePath>
+              <FilePath>..\..\components\drivers\rtc\dev_rtc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -730,9 +768,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -749,9 +787,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>spi_core.c</FileName>
+              <FileName>dev_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\spi\spi_core.c</FilePath>
+              <FilePath>..\..\components\drivers\spi\dev_spi.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -768,9 +806,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>spi_dev.c</FileName>
+              <FileName>dev_spi_core.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\spi\spi_dev.c</FilePath>
+              <FilePath>..\..\components\drivers\spi\dev_spi_core.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -790,86 +828,86 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>led.c</FileName>
+              <FileName>spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\led.c</FilePath>
+              <FilePath>board\spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>uart.c</FileName>
+              <FileName>gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\uart.c</FilePath>
+              <FilePath>board\gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>pdm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\board.c</FilePath>
+              <FilePath>board\pdm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>smbus.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\smbus.c</FilePath>
+              <FilePath>board\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>gpio.c</FileName>
+              <FileName>adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\gpio.c</FilePath>
+              <FilePath>board\adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>spi.c</FileName>
+              <FileName>pwm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\spi.c</FilePath>
+              <FilePath>board\pwm.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>pdm.c</FileName>
+              <FileName>i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\pdm.c</FilePath>
+              <FilePath>board\i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>adc.c</FileName>
+              <FileName>rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\adc.c</FilePath>
+              <FilePath>board\rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>flash.c</FileName>
+              <FileName>uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\flash.c</FilePath>
+              <FilePath>board\uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board_rtc.c</FileName>
+              <FileName>led.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\rtc.c</FilePath>
+              <FilePath>board\led.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>pwm.c</FileName>
+              <FileName>smbus.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\pwm.c</FilePath>
+              <FilePath>board\smbus.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>i2c.c</FileName>
+              <FileName>flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>board\i2c.c</FilePath>
+              <FilePath>board\flash.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -880,6 +918,18 @@
               <FileName>devfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -887,6 +937,18 @@
               <FileName>dfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -894,6 +956,18 @@
               <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -901,6 +975,18 @@
               <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -908,6 +994,18 @@
               <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
@@ -915,16 +1013,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -936,9 +1034,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -991,9 +1089,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\idle.c</FilePath>
+              <FilePath>..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1010,9 +1108,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1029,9 +1127,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\irq.c</FilePath>
+              <FilePath>..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1048,9 +1146,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1067,9 +1165,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1237,6 +1335,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>

+ 66 - 32
bsp/asm9260t/project.ewp

@@ -343,22 +343,24 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\platform</state>
           <state>$PROJ_DIR$\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\arm926</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\arm926</state>
+          <state>$PROJ_DIR$\platform</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\include</state>
+          <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\smp_call</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1376,22 +1378,24 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\platform</state>
           <state>$PROJ_DIR$\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\arm926</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\arm926</state>
+          <state>$PROJ_DIR$\platform</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\include</state>
+          <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\smp_call</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2126,7 +2130,13 @@
       <name>$PROJ_DIR$\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2147,7 +2157,7 @@
       <name>$PROJ_DIR$\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
@@ -2186,16 +2196,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2207,19 +2217,19 @@
       <name>$PROJ_DIR$\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\src\kservice.c</name>
@@ -2252,6 +2262,24 @@
       <name>$PROJ_DIR$\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\src\klibc\kstdio.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2285,4 +2313,10 @@
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 96 - 20
bsp/asm9260t/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\components\finsh;..\..\components\libc\compilers\common\include;.;..\..\libcpu\arm\common;..\..\components\libc\compilers\common\extension;..\..\components\drivers\include;..\..\libcpu\arm\arm926;..\..\include;platform;..\..\components\libc\posix\io\eventfd;..\..\components\libc\posix\io\epoll;applications;..\..\components\libc\posix\ipc;..\..\components\libc\posix\io\poll;..\..\components\drivers\include;drivers;..\..\components\drivers\include;..\..\components\libc\compilers\common\extension\fcntl\octal</IncludePath>
+              <IncludePath>..\..\components\libc\posix\io\eventfd;..\..\components\drivers\phy;..\..\components\drivers\include;.;..\..\components\libc\posix\io\poll;..\..\libcpu\arm\common;..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\include;..\..\components\libc\posix\io\epoll;..\..\components\drivers\include;..\..\components\drivers\smp_call;..\..\components\finsh;..\..\libcpu\arm\arm926;applications;drivers;..\..\components\drivers\include;..\..\components\libc\compilers\common\extension;platform;..\..\components\libc\compilers\common\include;..\..\components\drivers\include;..\..\components\libc\posix\ipc</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -491,9 +491,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -624,9 +662,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -719,9 +757,9 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -733,9 +771,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -788,9 +826,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\idle.c</FilePath>
+              <FilePath>..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -807,9 +845,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -826,9 +864,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\irq.c</FilePath>
+              <FilePath>..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -845,9 +883,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -864,9 +902,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1072,6 +1110,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>

+ 38 - 127
bsp/at32/at32a403a-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32A403AVGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32A403AVGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32a403a.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,7 +2211,7 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
@@ -2228,7 +2220,7 @@
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
   </group>
   <group>
@@ -2318,87 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_bpr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\system_at32a403a.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_rtc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_adc.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 18 - 210
bsp/at32/at32a403a-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_STDPERIPH_DRIVER, __STDC_LIMIT_MACROS, AT32A403AVGT7, RT_USING_LIBC</Define>
+              <Define>AT32A403AVGT7, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\smp_call;board;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\epoll;..\libraries\rt_drivers;..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;board\inc;.;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\libraries\AT32A403A_Firmware_Library\drivers\inc;..\..\..\components\libc\compilers\common\extension;..\..\..\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\libraries\usbd_library\inc;..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\core_support</IncludePath>
+              <IncludePath>..\libraries\rt_drivers\config;..\libraries\usbd_library\inc;applications;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\extension;.;..\..\..\libcpu\arm\common;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;board;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32a403a.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32a403a.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,16 +1079,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1107,16 +1100,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,191 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32a403a_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32a403a.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\system_at32a403a.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 14 - 206
bsp/at32/at32a403a-start/project.uvprojx

@@ -334,9 +334,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, AT32A403AVGT7, __STDC_LIMIT_MACROS, RT_USING_LIBC</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, AT32A403AVGT7, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32A403A_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\include;..\..\..\components\drivers\include;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\extension;board;..\..\..\components\finsh;..\..\..\components\drivers\include;applications;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\epoll;.;..\..\..\libcpu\arm\common;..\libraries\rt_drivers\config;board\inc;..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll</IncludePath>
+              <IncludePath>..\..\..\libcpu\arm\common;..\libraries\usbd_library\inc;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;board;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;applications;..\..\..\components\libc\compilers\common\include;board\inc;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\include;.;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension;..\..\..\components\finsh;..\..\..\components\libc\posix\ipc</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -693,13 +693,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32a403a.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32a403a.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -740,16 +733,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1064,16 +1057,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1085,16 +1078,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1136,191 +1129,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32a403a_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32a403a.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\cmsis\cm4\device_support\system_at32a403a.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a403a_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A403A_Firmware_Library\drivers\src\at32a403a_i2c.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 38 - 121
bsp/at32/at32a423-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32A423VCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32A423VCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32a423.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2218,9 +2210,6 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
@@ -2230,6 +2219,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2284,6 +2276,9 @@
   </group>
   <group>
     <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
@@ -2291,14 +2286,11 @@
       <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
-    </file>
   </group>
   <group>
     <name>libcpu</name>
@@ -2318,81 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\system_at32a423.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_tmr.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 194
bsp/at32/at32a423-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, RT_USING_LIBC, __RTTHREAD__, __STDC_LIMIT_MACROS, AT32A423VCT7, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__RTTHREAD__, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, AT32A423VCT7, RT_USING_LIBC, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\libraries\rt_drivers\config;board\inc;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\poll;..\libraries\AT32A423_Firmware_Library\cmsis\cm4\core_support;..\libraries\usbotg_library\inc;..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;.;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\phy;board;applications;..\libraries\AT32A423_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\epoll;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;.;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;applications;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;board;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\libcpu\arm\common;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\include;..\libraries\usbotg_library\inc;..\..\..\components\drivers\include;board\inc;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32a423.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32a423.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -755,9 +748,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -769,9 +762,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,37 +1079,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,177 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32a423_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32a423.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\system_at32a423.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usart.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 17 - 195
bsp/at32/at32a423-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __RTTHREAD__, RT_USING_ARMLIBC, AT32A423VCT7, __STDC_LIMIT_MACROS</Define>
+              <Define>__RTTHREAD__, AT32A423VCT7, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;board;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers;board\inc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\cortex-m4;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\..\..\components\drivers\include;.;..\libraries\usbotg_library\inc;..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32A423_Firmware_Library\drivers\inc;..\..\..\include;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\extension\fcntl\octal;applications;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\libraries\AT32A423_Firmware_Library\cmsis\cm4\core_support</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\libraries\rt_drivers;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbotg_library\inc;applications;..\..\..\include;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;board;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;.;..\..\..\components\drivers\phy;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32a423.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32a423.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1061,13 +1054,6 @@
         </Group>
         <Group>
           <GroupName>klibc</GroupName>
-          <Files>
-            <File>
-              <FileName>rt_vsscanf.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>kstring.c</FileName>
@@ -1089,6 +1075,13 @@
               <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
           <Files>
             <File>
               <FileName>kstdio.c</FileName>
@@ -1135,177 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32a423_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32a423.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\cmsis\cm4\device_support\system_at32a423.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32a423_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32A423_Firmware_Library\drivers\src\at32a423_flash.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 42 - 122
bsp/at32/at32f402-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F402RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F402RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f402_405.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2218,15 +2210,15 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
   </group>
   <group>
@@ -2318,78 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 14 - 185
bsp/at32/at32f402-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, USE_STDPERIPH_DRIVER, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, AT32F402RCT7</Define>
+              <Define>__STDC_LIMIT_MACROS, RT_USING_LIBC, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, AT32F402RCT7, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\phy;..\..\..\components\finsh;board;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;applications;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers\config;board\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support;..\..\..\libcpu\arm\common;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F402_405_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\epoll;..\libraries\rt_drivers;.;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>applications;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;board;..\..\..\components\libc\compilers\common\extension;board\inc;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\include;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;..\..\..\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f402_405.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f402_405.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,9 +741,9 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -769,9 +762,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,23 +1079,23 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1114,9 +1107,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,170 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f402_405_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f402_405.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 14 - 185
bsp/at32/at32f402-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, RT_USING_LIBC, AT32F402RCT7, __CLK_TCK=RT_TICK_PER_SECOND, USE_STDPERIPH_DRIVER, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
+              <Define>RT_USING_LIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, AT32F402RCT7</Define>
               <Undefine />
-              <IncludePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F402_405_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;applications;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support;..\libraries\usbotg_library\inc;.;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers;..\..\..\include;..\..\..\components\drivers\smp_call;board;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;board\inc;..\..\..\components\drivers\phy;..\..\..\components\finsh</IncludePath>
+              <IncludePath>..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbotg_library\inc;applications;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;board;..\..\..\components\drivers\phy;..\..\..\components\libc\posix\ipc;..\..\..\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f402_405.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f402_405.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,16 +718,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -746,9 +739,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1077,23 +1070,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,170 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f402_405_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f402_405.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 42 - 131
bsp/at32/at32f403a-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F403AVGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F403AVGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,16 +2211,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
   </group>
   <group>
@@ -2285,16 +2277,16 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
@@ -2318,87 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 18 - 210
bsp/at32/at32f403a-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, AT32F403AVGT7, RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __RTTHREAD__</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __RTTHREAD__, RT_USING_LIBC, __STDC_LIMIT_MACROS, AT32F403AVGT7</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\common;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;applications;.;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\cortex-m4;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\ipc;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\include;board;..\..\..\components\drivers\include;..\libraries\usbd_library\inc;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\poll</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbd_library\inc;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\common\include;applications;..\..\..\components\libc\compilers\common\extension;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\poll</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f403a_407.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,9 +1079,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1100,23 +1093,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,191 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f403a_407.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 16 - 208
bsp/at32/at32f403a-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, AT32F403AVGT7, USE_STDPERIPH_DRIVER</Define>
+              <Define>__STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_LIBC, RT_USING_ARMLIBC, AT32F403AVGT7</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;.;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;board\inc;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\ipc;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\phy;board;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m4;applications;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\drivers\phy;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\include;board;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\eventfd;applications;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;.;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\extension</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f403a_407.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1077,23 +1070,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,191 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f403a_407.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 40 - 120
bsp/at32/at32f405-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F405RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\board</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F405RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\board</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f402_405.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2218,15 +2210,15 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
@@ -2288,16 +2280,16 @@
       <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
   </group>
   <group>
@@ -2318,78 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 187
bsp/at32/at32f405-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, __STDC_LIMIT_MACROS, RT_USING_LIBC, AT32F405RCT7, __RTTHREAD__</Define>
+              <Define>RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, AT32F405RCT7, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\finsh;..\..\..\components\drivers\include;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;board;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;applications;board\inc;..\libraries\usbotg_library\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\include;.;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers;..\libraries\AT32F402_405_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\..\..\components\libc\compilers\common\extension;.;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;applications;..\..\..\components\drivers\include;board;..\..\..\components\finsh;..\..\..\include;..\libraries\rt_drivers</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f402_405.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f402_405.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,23 +741,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1086,9 +1079,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1100,23 +1093,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,170 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f402_405_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f402_405.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 12 - 183
bsp/at32/at32f405-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, __RTTHREAD__, RT_USING_LIBC, AT32F405RCT7, __STDC_LIMIT_MACROS</Define>
+              <Define>RT_USING_LIBC, AT32F405RCT7, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>board\inc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;board;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\poll;..\..\..\components\finsh;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\phy;..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\libraries\AT32F402_405_Firmware_Library\drivers\inc;..\libraries\usbotg_library\inc;..\libraries\rt_drivers;..\..\..\libcpu\arm\common;applications;..\..\..\components\libc\posix\io\eventfd;.;..\libraries\rt_drivers\config</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers\config;.;..\libraries\usbotg_library\inc;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\epoll;board;..\libraries\rt_drivers;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;applications;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f402_405.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f402_405.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -732,23 +725,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1070,9 +1063,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1091,9 +1084,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,170 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f402_405_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f402_405.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\cmsis\cm4\device_support\system_at32f402_405.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f402_405_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F402_405_Firmware_Library\drivers\src\at32f402_405_crc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 42 - 131
bsp/at32/at32f407-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F407VGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F407VGT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2218,18 +2210,18 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
   </group>
   <group>
@@ -2318,87 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 208
bsp/at32/at32f407-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F407VGT7, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER</Define>
+              <Define>AT32F407VGT7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\epoll;board\inc;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;board;..\..\..\components\drivers\include;..\..\..\components\finsh;applications;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\cortex-m4;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\libraries\usbd_library\inc;.;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\eventfd;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\extension;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;.;..\..\..\components\finsh;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\smp_call;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\common;board</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f403a_407.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -755,23 +748,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,23 +1079,23 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1114,9 +1107,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,191 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f403a_407.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 16 - 208
bsp/at32/at32f407-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F407VGT7, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, __RTTHREAD__</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __RTTHREAD__, __STDC_LIMIT_MACROS, AT32F407VGT7, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;board;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\libraries\rt_drivers\config;.;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;board\inc;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;applications;..\libraries\rt_drivers;..\..\..\libcpu\arm\cortex-m4;..\..\..\include</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\epoll;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\phy;applications;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\libcpu\arm\common;..\libraries\usbd_library\inc;board\inc;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;board</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f403a_407.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,16 +1056,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1084,9 +1077,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1135,191 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f403a_407.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f403a_407_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 39 - 119
bsp/at32/at32f413-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F413RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F413RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\libraries\usbd_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f413.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2222,13 +2214,13 @@
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
   </group>
   <group>
@@ -2318,78 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 187
bsp/at32/at32f413-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, AT32F413RCT7, RT_USING_LIBC, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>AT32F413RCT7, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_LIBC, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\libraries\AT32F413_Firmware_Library\drivers\inc;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\libc\posix\ipc;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support;..\libraries\rt_drivers\config;board;applications;..\..\..\libcpu\arm\common;.;..\libraries\usbd_library\inc;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\poll;board\inc;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\finsh;..\..\..\components\libc\posix\io\eventfd</IncludePath>
+              <IncludePath>..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;applications;..\..\..\components\drivers\include;board\inc;..\..\..\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\finsh;.;..\..\..\components\libc\posix\io\epoll;..\libraries\usbd_library\inc;..\..\..\libcpu\arm\common;..\libraries\rt_drivers\config;..\..\..\components\drivers\phy</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f413.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,9 +741,9 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -762,9 +755,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1086,37 +1079,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,170 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f413_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f413.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 16 - 187
bsp/at32/at32f413-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, AT32F413RCT7, __RTTHREAD__, RT_USING_LIBC, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC</Define>
+              <Define>AT32F413RCT7, __RTTHREAD__, RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\libraries\rt_drivers;.;..\libraries\usbd_library\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\finsh;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension;board\inc;..\..\..\components\libc\posix\io\epoll;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support;board;..\libraries\AT32F413_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\include;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;board\inc;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;..\..\..\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\extension;board;..\libraries\usbd_library\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\phy;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f413.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,23 +718,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1063,23 +1056,23 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1091,9 +1084,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,170 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f413_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_rtc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_bpr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f413.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f413_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 36 - 113
bsp/at32/at32f415-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F415RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support</state>
           <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F415RCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support</state>
           <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f415.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2218,9 +2210,6 @@
   </group>
   <group>
     <name>Finsh</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
@@ -2230,6 +2219,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
   </group>
   <group>
@@ -2318,75 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 180
bsp/at32/at32f415-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, AT32F415RCT7, RT_USING_ARMLIBC, RT_USING_LIBC, __RTTHREAD__, USE_STDPERIPH_DRIVER</Define>
+              <Define>__RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, AT32F415RCT7</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\..\..\components\drivers\include;applications;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;board;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support;..\libraries\usbotg_library\inc;..\libraries\rt_drivers;.;..\..\..\components\libc\posix\io\poll;board\inc;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\libraries\AT32F415_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\common;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;applications;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\smp_call;board;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\libraries\usbotg_library\inc;..\..\..\libcpu\arm\cortex-m4;board\inc;..\..\..\components\libc\posix\io\eventfd;.;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f415.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -755,23 +748,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1093,30 +1086,30 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,163 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f415_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f415.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 16 - 180
bsp/at32/at32f415-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F415RCT7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, RT_USING_LIBC, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER, __RTTHREAD__</Define>
+              <Define>RT_USING_LIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, AT32F415RCT7, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\phy;board\inc;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;board;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\include;..\libraries\usbotg_library\inc;..\libraries\rt_drivers;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;.;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m4;applications;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F415_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\include;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;board\inc;..\libraries\rt_drivers\config;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\drivers\phy;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;.;..\..\..\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;board;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\extension\fcntl\octal</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f415.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,23 +718,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1063,30 +1056,30 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1135,163 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f415_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f415.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f415_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 35 - 106
bsp/at32/at32f421-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F421C8T7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,29 +352,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\core_support</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1275,7 +1271,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F421C8T7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1403,29 +1398,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\core_support</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2106,6 +2098,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2201,9 +2196,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f421.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2217,13 +2209,13 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
@@ -2283,19 +2275,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
   </group>
   <group>
@@ -2316,69 +2308,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_cmp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\system_at32f421.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 4 - 4
bsp/at32/at32f421-start/project.uvoptx

@@ -103,7 +103,7 @@
         <bEvRecOn>1</bEvRecOn>
         <bSchkAxf>0</bSchkAxf>
         <bTchkAxf>0</bTchkAxf>
-        <nTsel>3</nTsel>
+        <nTsel>0</nTsel>
         <sDll></sDll>
         <sDllPa></sDllPa>
         <sDlgDll></sDlgDll>
@@ -114,18 +114,18 @@
         <tDlgDll></tDlgDll>
         <tDlgPa></tDlgPa>
         <tIfile></tIfile>
-        <pMon>BIN\CMSIS_AGDI.dll</pMon>
+        <pMon>BIN\UL2CM3.DLL</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>UL2CM3</Key>
-          <Name>UL2CM3(-S0 -C0 -P0 )  -FN1 -FC1000 -FD20000000 -FF0AT32F4212_64 -FL010000 -FS08000000 -FP0($$Device:-AT32F4212C8T7$Flash\AT32F4212_64.FLM)</Name>
+          <Name>UL2CM3(-S0 -C0 -P0 )  -FN1 -FC1000 -FD20000000 -FF0AT32F421_64 -FL010000 -FS08000000 -FP0($$Device:-AT32F421C8T7$Flash\AT32F421_64.FLM)</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>CMSIS_AGDI</Key>
-          <Name>-X"Any" -UAny -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0AT32F4212_64.FLM -FS08000000 -FL010000 -FP0($$Device:-AT32F4212C8T7$Flash\AT32F4212_64.FLM)</Name>
+          <Name>UL2CM3(-S0 -C0 -P0 )  -FN1 -FC1000 -FD20000000 -FF0AT32F421_64 -FL010000 -FS08000000 -FP0($$Device:-AT32F421C8T7$Flash\AT32F421_64.FLM)</Name>
         </SetRegEntry>
       </TargetDriverDllRegistry>
       <Breakpoint/>

+ 16 - 166
bsp/at32/at32f421-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, AT32F421C8T7, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, USE_STDPERIPH_DRIVER</Define>
+              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, AT32F421C8T7, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>board;..\libraries\rt_drivers;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;applications;.;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\libraries\AT32F421_Firmware_Library\drivers\inc;..\..\..\components\drivers\smp_call;..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support;..\libraries\rt_drivers\config;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\AT32F421_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\libc\compilers\common\include;..\..\..\include;..\..\..\components\drivers\phy</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;applications;..\..\..\components\finsh;..\..\..\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension;board\inc;..\..\..\components\libc\posix\io\poll;.;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;board</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f421.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f421.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,16 +741,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -769,9 +762,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,23 +1079,23 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1114,9 +1107,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,149 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f421_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f421.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\system_at32f421.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_adc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 21 - 171
bsp/at32/at32f421-start/project.uvprojx

@@ -11,15 +11,15 @@
       <uAC6>0</uAC6>
       <TargetOption>
         <TargetCommonOption>
-          <Device>-AT32F4212C8T7</Device>
+          <Device>-AT32F421C8T7</Device>
           <Vendor>ArteryTek</Vendor>
-          <PackID>ArteryTek.AT32F421_DFP.2.0.9</PackID>
+          <PackID>ArteryTek.AT32F421_DFP.2.0.0</PackID>
           <Cpu>IRAM(0x20000000,0x4000) IROM(0x08000000,0x10000) CPUTYPE("Cortex-M4") CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec />
           <StartupFile />
-          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0AT32F4212_64 -FS08000000 -FL010000 -FP0($$Device:-AT32F4212C8T7$Flash\AT32F4212_64.FLM))</FlashDriverDll>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0AT32F421_64 -FS08000000 -FL010000 -FP0($$Device:-AT32F421C8T7$Flash\AT32F421_64.FLM))</FlashDriverDll>
           <DeviceId>0</DeviceId>
-          <RegisterFile>$$Device:-AT32F4212C8T7$Device\Include\at32f421.h</RegisterFile>
+          <RegisterFile>$$Device:-AT32F421C8T7$Device\Include\at32f421.h</RegisterFile>
           <MemoryEnv />
           <Cmp />
           <Asm />
@@ -29,7 +29,7 @@
           <SLE66CMisc />
           <SLE66AMisc />
           <SLE66LinkerMisc />
-          <SFDFile>$$Device:-AT32F4212C8T7$SVD\AT32F421xx_v2.svd</SFDFile>
+          <SFDFile>$$Device:-AT32F421C8T7$SVD\AT32F421xx_v2.svd</SFDFile>
           <bCustSvd>0</bCustSvd>
           <UseEnv>0</UseEnv>
           <BinPath />
@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__CLK_TCK=RT_TICK_PER_SECOND, AT32F421C8T7, __RTTHREAD__, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER, RT_USING_LIBC, RT_USING_ARMLIBC</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, __RTTHREAD__, __STDC_LIMIT_MACROS, AT32F421C8T7</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support;board\inc;..\..\..\components\drivers\smp_call;applications;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;..\..\..\components\drivers\include;board;..\libraries\AT32F421_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\epoll;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;.;..\libraries\AT32F421_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common</IncludePath>
+              <IncludePath>..\..\..\components\drivers\phy;board\inc;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;.;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers;..\..\..\include;applications;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension;board;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f421.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f421.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,16 +718,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -746,9 +739,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,16 +1056,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1084,16 +1077,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,149 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f421_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f421.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\cmsis\cm4\device_support\system_at32f421.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f421_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F421_Firmware_Library\drivers\src\at32f421_dma.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 40 - 123
bsp/at32/at32f423-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F423VCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -354,29 +353,26 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F423VCT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1405,29 +1400,26 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f423.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,13 +2211,13 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
   </group>
   <group>
@@ -2318,81 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\system_at32f423.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_misc.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 18 - 196
bsp/at32/at32f423-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F423VCT7, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_LIBC</Define>
+              <Define>RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_ARMLIBC, AT32F423VCT7</Define>
               <Undefine />
-              <IncludePath>applications;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;board;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers\config;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\phy;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board\inc;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\include;..\..\..\components\finsh;..\libraries\AT32F423_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F423_Firmware_Library\drivers\inc;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\eventfd</IncludePath>
+              <IncludePath>..\..\..\libcpu\arm\common;..\..\..\include;..\libraries\rt_drivers;..\..\..\components\libc\posix\ipc;applications;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\finsh;..\..\..\components\drivers\phy;..\libraries\usbotg_library\inc;board;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;board\inc;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m4</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f423.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f423.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,23 +741,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1086,37 +1079,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,177 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>system_at32f423.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\system_at32f423.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crm.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 16 - 194
bsp/at32/at32f423-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F423VCT7, USE_STDPERIPH_DRIVER, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_LIBC, RT_USING_ARMLIBC</Define>
+              <Define>__STDC_LIMIT_MACROS, __RTTHREAD__, AT32F423VCT7, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;.;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\include;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\io\eventfd;..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support;..\libraries\rt_drivers;..\..\..\components\finsh;board\inc;..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F423_Firmware_Library\cmsis\cm4\core_support;..\libraries\rt_drivers\config;..\libraries\AT32F423_Firmware_Library\drivers\inc;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;board;applications</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\epoll;board;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\eventfd;applications;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;.;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers;board\inc</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f423.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f423.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1077,23 +1070,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,177 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f423_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f423.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\cmsis\cm4\device_support\system_at32f423.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f423_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F423_Firmware_Library\drivers\src\at32f423_flash.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 37 - 114
bsp/at32/at32f425-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F425C8T7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F425C8T7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f425.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,13 +2211,13 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
@@ -2284,6 +2276,9 @@
   </group>
   <group>
     <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
@@ -2291,14 +2286,11 @@
       <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
-    </file>
   </group>
   <group>
     <name>libcpu</name>
@@ -2318,75 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\system_at32f425.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_acc.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 20 - 184
bsp/at32/at32f425-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F425C8T7, __RTTHREAD__, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__RTTHREAD__, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, AT32F425C8T7, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\smp_call;..\..\..\components\finsh;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\AT32F425_Firmware_Library\cmsis\cm4\core_support;..\libraries\rt_drivers;..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbotg_library\inc;board;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;applications;..\libraries\AT32F425_Firmware_Library\drivers\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\include;.;..\..\..\components\libc\compilers\common\extension</IncludePath>
+              <IncludePath>..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;applications;..\..\..\libcpu\arm\common;board;board\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers\config;.;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\libraries\usbotg_library\inc;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\extension\fcntl\octal</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f425.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f425.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,37 +1079,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,163 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f425_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f425.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\system_at32f425.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 14 - 178
bsp/at32/at32f425-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>AT32F425C8T7, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_LIBC, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC</Define>
+              <Define>__STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, RT_USING_ARMLIBC, AT32F425C8T7, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;applications;..\..\..\libcpu\arm\common;board;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\poll;board\inc;..\..\..\components\libc\posix\io\epoll;..\libraries\AT32F425_Firmware_Library\drivers\inc;..\libraries\AT32F425_Firmware_Library\cmsis\cm4\core_support;..\libraries\usbotg_library\inc;..\libraries\rt_drivers;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\finsh;..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support;.;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4</IncludePath>
+              <IncludePath>..\libraries\usbotg_library\inc;..\..\..\components\drivers\include;..\..\..\components\finsh;.;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\phy;..\libraries\rt_drivers\config;board;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\include;..\libraries\rt_drivers;..\..\..\components\drivers\smp_call;..\..\..\libcpu\arm\cortex-m4;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;board\inc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f425.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f425.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,23 +718,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1063,23 +1056,23 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1135,163 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f425_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f425.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\cmsis\cm4\device_support\system_at32f425.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f425_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F425_Firmware_Library\drivers\src\at32f425_gpio.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 37 - 135
bsp/at32/at32f435-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F435ZMT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F435ZMT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,16 +2211,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2290,15 +2282,15 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
   </group>
   <group>
     <name>libcpu</name>
@@ -2318,96 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 20 - 233
bsp/at32/at32f435-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_LIBC, USE_STDPERIPH_DRIVER, __RTTHREAD__, AT32F435ZMT7</Define>
+              <Define>AT32F435ZMT7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __RTTHREAD__, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>board;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\phy;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;.;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers\config;..\libraries\rt_drivers;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\include;applications;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\extension;..\..\..\components\finsh;board\inc;..\..\..\components\drivers\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;.;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;board;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;board\inc;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f435_437.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,37 +1079,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,212 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f435_437_edma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f435_437.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dvp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 18 - 231
bsp/at32/at32f435-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, AT32F435ZMT7, RT_USING_ARMLIBC, __RTTHREAD__, RT_USING_LIBC, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, AT32F435ZMT7, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\libc\posix\io\eventfd;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\epoll;..\libraries\rt_drivers\config;board;..\..\..\libcpu\arm\common;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;applications;board\inc;..\libraries\usbotg_library\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\poll;..\..\..\include;.</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\phy;..\libraries\rt_drivers\config;board;board\inc;.;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\include;..\libraries\usbotg_library\inc;..\..\..\components\finsh;..\..\..\libcpu\arm\common</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f435_437.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,23 +718,23 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1063,37 +1056,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,212 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f435_437_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_edma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dvp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f435_437.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 40 - 138
bsp/at32/at32f437-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F437ZMT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F437ZMT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,16 +2211,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2284,9 +2276,6 @@
   </group>
   <group>
     <name>klibc</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
@@ -2296,6 +2285,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
@@ -2318,96 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 14 - 227
bsp/at32/at32f437-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__RTTHREAD__, RT_USING_ARMLIBC, AT32F437ZMT7, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __STDC_LIMIT_MACROS</Define>
+              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, AT32F437ZMT7, __RTTHREAD__, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>board;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;board\inc;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\rt_drivers;applications;.;..\libraries\rt_drivers\config;..\..\..\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\libraries\usbotg_library\inc;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\include;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;board\inc;board;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\rt_drivers;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\..\..\include;..\..\..\libcpu\arm\common;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f435_437.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,9 +741,9 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -762,9 +755,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1086,16 +1079,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1107,16 +1100,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,212 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f435_437_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_edma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dvp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f435_437.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 15 - 228
bsp/at32/at32f437-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, __RTTHREAD__, USE_STDPERIPH_DRIVER, AT32F437ZMT7, RT_USING_LIBC, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, AT32F437ZMT7</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\io\epoll;.;..\..\..\components\drivers\include;board\inc;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\usbotg_library\inc;..\..\..\components\finsh;..\..\..\components\drivers\include;applications;..\libraries\rt_drivers;..\..\..\components\libc\posix\ipc;..\..\..\libcpu\arm\common;..\..\..\include;..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\include;board;..\..\..\components\libc\posix\io\eventfd;..\libraries\rt_drivers\config;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;..\libraries\AT32F435_437_Firmware_Library\drivers\inc</IncludePath>
+              <IncludePath>..\..\..\components\drivers\phy;board\inc;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\drivers\include;applications;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;..\libraries\rt_drivers\config;board;..\libraries\rt_drivers;.;..\..\..\libcpu\arm\common;..\libraries\usbotg_library\inc;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\smp_call</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f435_437.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,16 +718,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -746,9 +739,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1061,6 +1054,13 @@
         </Group>
         <Group>
           <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
           <Files>
             <File>
               <FileName>rt_vsnprintf_tiny.c</FileName>
@@ -1089,13 +1089,6 @@
               <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>kstring.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
-            </File>
-          </Files>
         </Group>
         <Group>
           <GroupName>libcpu</GroupName>
@@ -1135,212 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_edma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f435_437.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dvp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f435_437_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 37 - 135
bsp/at32/at32f455-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F455ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F455ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f45x.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,16 +2211,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
   </group>
   <group>
@@ -2318,96 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 16 - 229
bsp/at32/at32f455-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_LIBC, USE_STDPERIPH_DRIVER, AT32F455ZET7, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>RT_USING_LIBC, AT32F455ZET7, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\drivers\phy;..\libraries\AT32F45x_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;applications;..\..\..\components\libc\compilers\common\extension;board;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\..\..\components\libc\compilers\common\include;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;..\libraries\rt_drivers\config;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</IncludePath>
+              <IncludePath>..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\include;..\..\..\components\libc\posix\io\epoll;applications;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\drivers\include;board\inc;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\phy;board;..\libraries\rt_drivers;..\..\..\components\drivers\smp_call;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,9 +741,9 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -762,16 +755,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,9 +1079,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1100,23 +1093,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,212 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 20 - 233
bsp/at32/at32f455-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>USE_STDPERIPH_DRIVER, AT32F455ZET7, __STDC_LIMIT_MACROS, __RTTHREAD__, RT_USING_LIBC, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>__STDC_LIMIT_MACROS, AT32F455ZET7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, RT_USING_LIBC, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>.;..\..\..\components\drivers\smp_call;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;..\libraries\AT32F45x_Firmware_Library\drivers\inc;applications;..\libraries\rt_drivers\config;..\..\..\include;board\inc;board;..\libraries\rt_drivers;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\common;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd</IncludePath>
+              <IncludePath>applications;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;.;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\libraries\rt_drivers\config;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\poll;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,37 +1056,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,212 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 39 - 137
bsp/at32/at32f456-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F456ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F456ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f45x.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2221,15 +2213,15 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+    </file>
   </group>
   <group>
     <name>Kernel</name>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
   </group>
   <group>
@@ -2318,96 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 12 - 225
bsp/at32/at32f456-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, AT32F456ZET7, __RTTHREAD__, USE_STDPERIPH_DRIVER, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, AT32F456ZET7, RT_USING_ARMLIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support;board\inc;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\eventfd;..\libraries\rt_drivers;..\..\..\components\finsh;..\..\..\components\drivers\smp_call;board;..\..\..\libcpu\arm\cortex-m4;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\AT32F45x_Firmware_Library\drivers\inc;..\..\..\include;..\libraries\usbotg_library\inc;.;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;applications;board;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\ipc;.;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbotg_library\inc;..\libraries\rt_drivers\config</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,16 +741,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1093,16 +1086,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1114,9 +1107,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,212 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 18 - 231
bsp/at32/at32f456-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_STDPERIPH_DRIVER, AT32F456ZET7, RT_USING_ARMLIBC</Define>
+              <Define>AT32F456ZET7, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, RT_USING_LIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\posix\ipc;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;..\..\..\components\drivers\smp_call;.;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;applications;..\libraries\rt_drivers\config;..\..\..\components\libc\compilers\common\extension;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\drivers\include;..\libraries\AT32F45x_Firmware_Library\drivers\inc;board;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\eventfd;..\libraries\usbotg_library\inc;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;.;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers;..\libraries\usbotg_library\inc;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\phy;..\..\..\include;board\inc;applications;..\..\..\libcpu\arm\common;..\..\..\components\drivers\smp_call</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,9 +1056,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1077,23 +1070,23 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,212 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 34 - 132
bsp/at32/at32f457-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F457ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,30 +352,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1276,7 +1272,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32F457ZET7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,30 +1399,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\board</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
-          <state>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support</state>
+          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\board\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\libraries\usbotg_library\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2108,6 +2100,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2203,9 +2198,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f45x.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2219,10 +2211,10 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
@@ -2285,19 +2277,19 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
   </group>
   <group>
@@ -2318,96 +2310,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 18 - 231
bsp/at32/at32f457-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, AT32F457ZET7, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __RTTHREAD__, USE_STDPERIPH_DRIVER</Define>
+              <Define>RT_USING_LIBC, __RTTHREAD__, AT32F457ZET7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS</Define>
               <Undefine />
-              <IncludePath>board;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;applications;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\libcpu\arm\common;..\..\..\include;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\io\epoll;board\inc;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension;..\libraries\usbotg_library\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;.;..\libraries\AT32F45x_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\libcpu\arm\cortex-m4;..\..\..\libcpu\arm\common;board;..\..\..\components\libc\compilers\common\extension;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;board\inc;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\smp_call;..\libraries\rt_drivers\config;..\..\..\components\libc\posix\ipc;applications;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\finsh;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\libraries\rt_drivers;..\..\..\components\drivers\include;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,16 +1079,16 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1107,16 +1100,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,212 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 20 - 233
bsp/at32/at32f457-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_LIBC, AT32F457ZET7, __RTTHREAD__, RT_USING_ARMLIBC, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, AT32F457ZET7, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\drivers\smp_call;.;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\include;..\libraries\usbotg_library\inc;board\inc;board;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\libraries\AT32F45x_Firmware_Library\drivers\inc;..\..\..\libcpu\arm\common;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\include;..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support;..\libraries\rt_drivers;applications;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\epoll</IncludePath>
+              <IncludePath>..\..\..\include;..\libraries\rt_drivers\config;..\libraries\usbotg_library\inc;..\..\..\libcpu\arm\cortex-m4;..\..\..\libcpu\arm\common;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;applications;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\phy;.;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\..\..\components\libc\compilers\common\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32f45x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f45x.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,37 +1056,37 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,212 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32f45x_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_aes.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_aes.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32f45x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\cmsis\cm4\device_support\system_at32f45x.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_xmc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_xmc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_emac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_emac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_qspi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_qspi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usb.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_trng.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_sdio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_sdio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_acc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_acc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32f45x_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32F45x_Firmware_Library\drivers\src\at32f45x_adc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 36 - 116
bsp/at32/at32m412-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32M412CBT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -354,28 +353,25 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\inc</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1275,7 +1271,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32M412CBT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1404,28 +1399,25 @@
           <name>CCIncludePath2</name>
           <state />
           <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\inc</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
           <state>$PROJ_DIR$\board</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\applications</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2106,6 +2098,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2201,9 +2196,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32m412_416.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2217,16 +2209,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
   </group>
   <group>
@@ -2283,16 +2275,16 @@
   <group>
     <name>klibc</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
@@ -2316,78 +2308,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 14 - 185
bsp/at32/at32m412-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, AT32M412CBT7, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>AT32M412CBT7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, RT_USING_LIBC, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\eventfd;applications;..\libraries\AT32M412_416_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\libraries\rt_drivers;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support;board;board\inc;..\..\..\include;..\..\..\libcpu\arm\common;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\include;.;..\..\..\components\finsh</IncludePath>
+              <IncludePath>board\inc;board;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\components\finsh;.;..\..\..\include;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers\config;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\libcpu\arm\cortex-m4;applications</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32m412_416.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32m412_416.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,16 +741,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -769,9 +762,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1086,9 +1079,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1100,16 +1093,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1158,170 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32m412_416_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32m412_416.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_op.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 13 - 184
bsp/at32/at32m412-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_ARMLIBC, AT32M412CBT7, RT_USING_LIBC, __STDC_LIMIT_MACROS, USE_STDPERIPH_DRIVER, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC, AT32M412CBT7, RT_USING_LIBC, __STDC_LIMIT_MACROS, __RTTHREAD__</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\io\poll;board;.;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\posix\ipc;..\libraries\rt_drivers;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support;..\..\..\components\libc\compilers\common\extension;board\inc;..\..\..\components\drivers\smp_call;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\phy;applications;..\libraries\AT32M412_416_Firmware_Library\drivers\inc;..\..\..\components\finsh;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support;..\..\..\libcpu\arm\common</IncludePath>
+              <IncludePath>..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;board;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;applications;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\compilers\common\extension;..\..\..\components\finsh;.;..\..\..\components\drivers\smp_call;..\..\..\components\libc\compilers\common\include;board\inc;..\..\..\components\libc\posix\io\epoll;..\libraries\rt_drivers;..\libraries\rt_drivers\config</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32m412_416.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32m412_416.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -723,13 +716,6 @@
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
-          <Files>
-            <File>
-              <FileName>shell.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>msh.c</FileName>
@@ -751,6 +737,13 @@
               <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>shell.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+            </File>
+          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -1063,9 +1056,9 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kstdio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1091,9 +1084,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1135,170 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32m412_416_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_op.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32m412_416.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 40 - 120
bsp/at32/at32m416-start/project.ewp

@@ -225,7 +225,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32M416CBT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -353,29 +352,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1275,7 +1271,6 @@
           <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
           <state>AT32M416CBT7</state>
           <state>__RTTHREAD__</state>
-          <state>USE_STDPERIPH_DRIVER</state>
           <state>__RT_IPC_SOURCE__</state>
           <state>__RT_KERNEL_SOURCE__</state>
         </option>
@@ -1403,29 +1398,26 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\board\inc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
-          <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\board</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\inc</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support</state>
-          <state>$PROJ_DIR$\.</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
-          <state>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
           <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
-          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+          <state>$PROJ_DIR$\..\libraries\rt_drivers\config</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\board\inc</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2106,6 +2098,9 @@
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
   </group>
+  <group>
+    <name>cmsis</name>
+  </group>
   <group>
     <name>Compiler</name>
     <file>
@@ -2201,9 +2196,6 @@
     <file>
       <name>$PROJ_DIR$\board\src\board.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32m412_416.s</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
     </file>
@@ -2217,16 +2209,16 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
   </group>
   <group>
@@ -2282,9 +2274,6 @@
   </group>
   <group>
     <name>klibc</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
     </file>
@@ -2297,6 +2286,9 @@
     <file>
       <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
   </group>
   <group>
     <name>libcpu</name>
@@ -2316,78 +2308,6 @@
       <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
     </file>
   </group>
-  <group>
-    <name>Libraries</name>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</name>
-    </file>
-  </group>
   <group>
     <name>POSIX</name>
   </group>

+ 18 - 189
bsp/at32/at32m416-start/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, AT32M416CBT7, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, USE_STDPERIPH_DRIVER</Define>
+              <Define>__RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, AT32M416CBT7, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\extension;..\libraries\rt_drivers;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;board;..\..\..\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;..\libraries\rt_drivers\config;..\libraries\AT32M412_416_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m4;.;applications;..\..\..\components\drivers\include;..\..\..\components\finsh;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\eventfd</IncludePath>
+              <IncludePath>..\..\..\components\libc\compilers\common\extension;.;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\include;..\libraries\rt_drivers\config;..\..\..\components\drivers\include;board\inc;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\common;..\..\..\components\drivers\smp_call;..\..\..\components\finsh;..\..\..\components\drivers\include;board;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\phy;..\..\..\components\libc\posix\io\epoll;applications;..\..\..\libcpu\arm\cortex-m4;..\libraries\rt_drivers;..\..\..\components\drivers\include</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -715,13 +715,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32m412_416.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32m412_416.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -748,30 +741,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1093,30 +1086,30 @@
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1158,170 +1151,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32m412_416_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_op.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32m412_416.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 18 - 189
bsp/at32/at32m416-start/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>USE_STDPERIPH_DRIVER, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, AT32M416CBT7, RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC</Define>
+              <Define>AT32M416CBT7, __CLK_TCK=RT_TICK_PER_SECOND, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __RTTHREAD__, RT_USING_LIBC</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\include;..\..\..\components\libc\compilers\common\extension;.;board\inc;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\posix\ipc;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\epoll;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\core_support;..\libraries\rt_drivers\config;..\libraries\AT32M412_416_Firmware_Library\drivers\inc;..\..\..\components\drivers\include;board;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;applications;..\..\..\components\finsh;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\libraries\rt_drivers;..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support</IncludePath>
+              <IncludePath>applications;..\..\..\libcpu\arm\common;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\libraries\rt_drivers;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\smp_call;..\..\..\components\libc\posix\ipc;board\inc;..\libraries\rt_drivers\config</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -692,13 +692,6 @@
               <FilePath>board\src\board.c</FilePath>
             </File>
           </Files>
-          <Files>
-            <File>
-              <FileName>startup_at32m412_416.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32m412_416.s</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>drv_common.c</FileName>
@@ -725,30 +718,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1063,30 +1056,30 @@
           <GroupName>klibc</GroupName>
           <Files>
             <File>
-              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileName>kerrno.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>rt_vsscanf.c</FileName>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kerrno.c</FileName>
+              <FileName>kstring.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>rt_vsscanf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1135,170 +1128,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>Libraries</GroupName>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dac.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dac.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_misc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_tmr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_tmr.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_spi.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_dma.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_adc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_adc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_pwc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_pwc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_ertc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_ertc.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>system_at32m412_416.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\cmsis\cm4\device_support\system_at32m412_416.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_flash.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_flash.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_cmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_cmp.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_can.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_can.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_gpio.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_crm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_crm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_exint.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_exint.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_wwdt.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_wwdt.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_op.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_op.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_debug.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_debug.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_usart.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_i2c.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_i2c.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>at32m412_416_scfg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\libraries\AT32M412_416_Firmware_Library\drivers\src\at32m412_416_scfg.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 2296 - 0
bsp/at91/at91sam9g45/project.ewp

@@ -0,0 +1,2296 @@
+<project>
+  <fileVersion>2</fileVersion>
+  <configuration>
+    <name>Debug</name>
+    <toolchain>
+      <name>ARM</name>
+    </toolchain>
+    <debug>1</debug>
+    <settings>
+      <name>General</name>
+      <archiveVersion>3</archiveVersion>
+      <data>
+        <version>24</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>ExePath</name>
+          <state>build\rtthread\Exe</state>
+        </option>
+        <option>
+          <name>ObjPath</name>
+          <state>build\rtthread\Obj</state>
+        </option>
+        <option>
+          <name>ListPath</name>
+          <state>build\rtthread\List</state>
+        </option>
+        <option>
+          <name>GEndianMode</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>Input variant</name>
+          <version>3</version>
+          <state>2</state>
+        </option>
+        <option>
+          <name>Input description</name>
+          <state>Full formatting, without multibyte support.</state>
+        </option>
+        <option>
+          <name>Output variant</name>
+          <version>2</version>
+          <state>2</state>
+        </option>
+        <option>
+          <name>Output description</name>
+          <state>Full formatting, without multibyte support.</state>
+        </option>
+        <option>
+          <name>GOutputBinary</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGCoreOrChip</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>GRuntimeLibSelect</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>GRuntimeLibSelectSlave</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>RTDescription</name>
+          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
+        </option>
+        <option>
+          <name>OGProductVersion</name>
+          <state>7.40.3.8937</state>
+        </option>
+        <option>
+          <name>OGLastSavedByProductVersion</name>
+          <state>7.40.3.8937</state>
+        </option>
+        <option>
+          <name>GeneralEnableMisra</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraVerbose</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGChipSelectEditMenu</name>
+          <state>AT91SAM9G45	Atmel AT91SAM9G45</state>
+        </option>
+        <option>
+          <name>GenLowLevelInterface</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>GEndianModeBE</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGBufferedTerminalOutput</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GenStdoutInterface</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraRules98</name>
+          <version>0</version>
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+        </option>
+        <option>
+          <name>GeneralMisraVer</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraRules04</name>
+          <version>0</version>
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+        </option>
+        <option>
+          <name>RTConfigPath2</name>
+          <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
+        </option>
+        <option>
+          <name>GBECoreSlave</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+        <option>
+          <name>OGUseCmsis</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGUseCmsisDspLib</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GRuntimeLibThreads</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CoreVariant</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+        <option>
+          <name>GFPUDeviceSlave</name>
+          <state>AT91SAM9G45	Atmel AT91SAM9G45</state>
+        </option>
+        <option>
+          <name>FPU2</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>NrRegs</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>NEON</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GFPUCoreSlave2</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>ICCARM</name>
+      <archiveVersion>2</archiveVersion>
+      <data>
+        <version>31</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>CCDefines</name>
+          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
+          <state>RT_USING_DLIBC</state>
+          <state>RT_USING_LIBC</state>
+          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
+          <state>_DLIB_FILE_DESCRIPTOR</state>
+          <state>__RTTHREAD__</state>
+          <state>__RT_IPC_SOURCE__</state>
+          <state>__RT_KERNEL_SOURCE__</state>
+        </option>
+        <option>
+          <name>CCPreprocFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPreprocComments</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPreprocLine</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCMnemonics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCMessages</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListAssFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListAssSource</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCEnableRemarks</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCDiagSuppress</name>
+          <state>Pa050</state>
+        </option>
+        <option>
+          <name>CCDiagRemark</name>
+          <state />
+        </option>
+        <option>
+          <name>CCDiagWarning</name>
+          <state />
+        </option>
+        <option>
+          <name>CCDiagError</name>
+          <state />
+        </option>
+        <option>
+          <name>CCObjPrefix</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CCAllowList</name>
+          <version>1</version>
+          <state>00000000</state>
+        </option>
+        <option>
+          <name>CCDebugInfo</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IEndianMode</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IExtraOptionsCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IExtraOptions</name>
+          <state />
+        </option>
+        <option>
+          <name>CCLangConformance</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCSignedPlainChar</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CCRequirePrototypes</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCMultibyteSupport</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCDiagWarnAreErr</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCCompilerRuntimeInfo</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IFpuProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>OutputFile</name>
+          <state>$FILE_BNAME$.o</state>
+        </option>
+        <option>
+          <name>CCLibConfigHeader</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>PreInclude</name>
+          <state />
+        </option>
+        <option>
+          <name>CompilerMisraOverride</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCIncludePath2</name>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\cplusplus</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\arm926</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\tls</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\platform</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\ktime\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\filesystems\devfs</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\delay</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\ktime</state>
+        </option>
+        <option>
+          <name>CCStdIncCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCCodeSection</name>
+          <state>.text</state>
+        </option>
+        <option>
+          <name>IInterwork2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IProcessorMode2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptLevel</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CCOptStrategy</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptLevelSlave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CompilerMisraRules98</name>
+          <version>0</version>
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+        </option>
+        <option>
+          <name>CompilerMisraRules04</name>
+          <version>0</version>
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+        </option>
+        <option>
+          <name>CCPosIndRopi</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPosIndRwpi</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPosIndNoDynInit</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccLang</name>
+          <state>2</state>
+        </option>
+        <option>
+          <name>IccCDialect</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccAllowVLA</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccCppDialect</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccExceptions</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccRTTI</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccStaticDestr</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccCppInlineSemantics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccCmsis</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccFloatSemantics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptimizationNoSizeConstraints</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCNoLiteralPool</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptStrategySlave</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCGuardCalls</name>
+          <state>1</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>AARM</name>
+      <archiveVersion>2</archiveVersion>
+      <data>
+        <version>9</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>AObjPrefix</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AEndian</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>ACaseSensitivity</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>MacroChars</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnEnable</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnWhat</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnOne</name>
+          <state />
+        </option>
+        <option>
+          <name>AWarnRange1</name>
+          <state />
+        </option>
+        <option>
+          <name>AWarnRange2</name>
+          <state />
+        </option>
+        <option>
+          <name>ADebug</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AltRegisterNames</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ADefines</name>
+          <state />
+        </option>
+        <option>
+          <name>AList</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AListHeader</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AListing</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>Includes</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MacDefs</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MacExps</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>MacExec</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OnlyAssed</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MultiLine</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>PageLengthCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>PageLength</name>
+          <state>80</state>
+        </option>
+        <option>
+          <name>TabSpacing</name>
+          <state>8</state>
+        </option>
+        <option>
+          <name>AXRef</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefDefines</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefInternal</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefDual</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AFpuProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AOutputFile</name>
+          <state>$FILE_BNAME$.o</state>
+        </option>
+        <option>
+          <name>AMultibyteSupport</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ALimitErrorsCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ALimitErrorsEdit</name>
+          <state>100</state>
+        </option>
+        <option>
+          <name>AIgnoreStdInclude</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AUserIncludes</name>
+          <state>$PROJ_DIR$\platform</state>
+        </option>
+        <option>
+          <name>AExtraOptionsCheckV2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AExtraOptionsV2</name>
+          <state />
+        </option>
+        <option>
+          <name>AsmNoLiteralPool</name>
+          <state>0</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>OBJCOPY</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>1</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>OOCOutputFormat</name>
+          <version>3</version>
+          <state>3</state>
+        </option>
+        <option>
+          <name>OCOutputOverride</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>OOCOutputFile</name>
+          <state>rtthread.bin</state>
+        </option>
+        <option>
+          <name>OOCCommandLineProducer</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>OOCObjCopyEnable</name>
+          <state>1</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>CUSTOM</name>
+      <archiveVersion>3</archiveVersion>
+      <data>
+        <extensions />
+        <cmdline />
+        <hasPrio>0</hasPrio>
+      </data>
+    </settings>
+    <settings>
+      <name>BICOMP</name>
+      <archiveVersion>0</archiveVersion>
+      <data />
+    </settings>
+    <settings>
+      <name>BUILDACTION</name>
+      <archiveVersion>1</archiveVersion>
+      <data>
+        <prebuild />
+        <postbuild />
+      </data>
+    </settings>
+    <settings>
+      <name>ILINK</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>16</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>IlinkLibIOConfig</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>XLinkMisraHandler</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkInputFileSlave</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkOutputFile</name>
+          <state>rtthread.out</state>
+        </option>
+        <option>
+          <name>IlinkDebugInfoEnable</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkKeepSymbols</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinaryFile</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinarySymbol</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinarySegment</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinaryAlign</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkDefines</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkConfigDefines</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkMapFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogInitialization</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogModule</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogSection</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogVeneer</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkIcfOverride</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkIcfFile</name>
+          <state>$PROJ_DIR$\link_scripts\at91sam9g45_ram.icf</state>
+        </option>
+        <option>
+          <name>IlinkIcfFileSlave</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkEnableRemarks</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkSuppressDiags</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsRem</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsWarn</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsErr</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkWarningsAreErrors</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkUseExtraOptions</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkExtraOptions</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkLowLevelInterfaceSlave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkAutoLibEnable</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkAdditionalLibs</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkOverrideProgramEntryLabel</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkProgramEntryLabelSelect</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkProgramEntryLabel</name>
+          <state>__iar_program_start</state>
+        </option>
+        <option>
+          <name>DoFill</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>FillerByte</name>
+          <state>0xFF</state>
+        </option>
+        <option>
+          <name>FillerStart</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>FillerEnd</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>CrcSize</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcAlign</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcPoly</name>
+          <state>0x11021</state>
+        </option>
+        <option>
+          <name>CrcCompl</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CrcBitOrder</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CrcInitialValue</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>DoCrc</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkBE8Slave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkBufferedTerminalOutput</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkStdoutInterfaceSlave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcFullSize</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkIElfToolPostProcess</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogAutoLibSelect</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogRedirSymbols</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogUnusedFragments</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCrcReverseByteOrder</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCrcUseAsInput</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptInline</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkOptExceptionsAllow</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptExceptionsForce</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCmsis</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptMergeDuplSections</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkOptUseVfe</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptForceVfe</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkStackAnalysisEnable</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkStackControlFile</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkStackCallGraphFile</name>
+          <state />
+        </option>
+        <option>
+          <name>CrcAlgorithm</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcUnitSize</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkThreadsSlave</name>
+          <state>1</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>IARCHIVE</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>0</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>1</debug>
+        <option>
+          <name>IarchiveInputs</name>
+          <state />
+        </option>
+        <option>
+          <name>IarchiveOverride</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IarchiveOutput</name>
+          <state>###Unitialized###</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>BILINK</name>
+      <archiveVersion>0</archiveVersion>
+      <data />
+    </settings>
+  </configuration>
+  <configuration>
+    <name>Release</name>
+    <toolchain>
+      <name>ARM</name>
+    </toolchain>
+    <debug>0</debug>
+    <settings>
+      <name>General</name>
+      <archiveVersion>3</archiveVersion>
+      <data>
+        <version>24</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>ExePath</name>
+          <state>build\Release\Exe</state>
+        </option>
+        <option>
+          <name>ObjPath</name>
+          <state>build\Release\Obj</state>
+        </option>
+        <option>
+          <name>ListPath</name>
+          <state>build\Release\List</state>
+        </option>
+        <option>
+          <name>GEndianMode</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>Input variant</name>
+          <version>3</version>
+          <state>2</state>
+        </option>
+        <option>
+          <name>Input description</name>
+          <state>Full formatting, without multibyte support.</state>
+        </option>
+        <option>
+          <name>Output variant</name>
+          <version>2</version>
+          <state>2</state>
+        </option>
+        <option>
+          <name>Output description</name>
+          <state>Full formatting, without multibyte support.</state>
+        </option>
+        <option>
+          <name>GOutputBinary</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGCoreOrChip</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>GRuntimeLibSelect</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>GRuntimeLibSelectSlave</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>RTDescription</name>
+          <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
+        </option>
+        <option>
+          <name>OGProductVersion</name>
+          <state>7.40.3.8937</state>
+        </option>
+        <option>
+          <name>OGLastSavedByProductVersion</name>
+          <state>7.40.3.8937</state>
+        </option>
+        <option>
+          <name>GeneralEnableMisra</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraVerbose</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGChipSelectEditMenu</name>
+          <state>AT91SAM9G45	Atmel AT91SAM9G45</state>
+        </option>
+        <option>
+          <name>GenLowLevelInterface</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GEndianModeBE</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGBufferedTerminalOutput</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GenStdoutInterface</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraRules98</name>
+          <version>0</version>
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+        </option>
+        <option>
+          <name>GeneralMisraVer</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GeneralMisraRules04</name>
+          <version>0</version>
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+        </option>
+        <option>
+          <name>RTConfigPath2</name>
+          <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Normal.h</state>
+        </option>
+        <option>
+          <name>GBECoreSlave</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+        <option>
+          <name>OGUseCmsis</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OGUseCmsisDspLib</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GRuntimeLibThreads</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CoreVariant</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+        <option>
+          <name>GFPUDeviceSlave</name>
+          <state>AT91SAM9G45	Atmel AT91SAM9G45</state>
+        </option>
+        <option>
+          <name>FPU2</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>NrRegs</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>NEON</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>GFPUCoreSlave2</name>
+          <version>22</version>
+          <state>12</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>ICCARM</name>
+      <archiveVersion>2</archiveVersion>
+      <data>
+        <version>31</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>CCDefines</name>
+          <state>NDEBUG</state>
+          <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
+          <state>RT_USING_DLIBC</state>
+          <state>RT_USING_LIBC</state>
+          <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
+          <state>_DLIB_FILE_DESCRIPTOR</state>
+          <state>__RTTHREAD__</state>
+          <state>__RT_IPC_SOURCE__</state>
+          <state>__RT_KERNEL_SOURCE__</state>
+        </option>
+        <option>
+          <name>CCPreprocFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPreprocComments</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPreprocLine</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCMnemonics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListCMessages</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListAssFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCListAssSource</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCEnableRemarks</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCDiagSuppress</name>
+          <state>Pa050</state>
+        </option>
+        <option>
+          <name>CCDiagRemark</name>
+          <state />
+        </option>
+        <option>
+          <name>CCDiagWarning</name>
+          <state />
+        </option>
+        <option>
+          <name>CCDiagError</name>
+          <state />
+        </option>
+        <option>
+          <name>CCObjPrefix</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CCAllowList</name>
+          <version>1</version>
+          <state>11111110</state>
+        </option>
+        <option>
+          <name>CCDebugInfo</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IEndianMode</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IExtraOptionsCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IExtraOptions</name>
+          <state />
+        </option>
+        <option>
+          <name>CCLangConformance</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCSignedPlainChar</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CCRequirePrototypes</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCMultibyteSupport</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCDiagWarnAreErr</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCCompilerRuntimeInfo</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IFpuProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>OutputFile</name>
+          <state>$FILE_BNAME$.o</state>
+        </option>
+        <option>
+          <name>CCLibConfigHeader</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>PreInclude</name>
+          <state />
+        </option>
+        <option>
+          <name>CompilerMisraOverride</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCIncludePath2</name>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\drivers</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\cplusplus</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\arm926</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\tls</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\platform</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\ktime\inc</state>
+          <state>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\filesystems\devfs</state>
+          <state>$PROJ_DIR$\applications</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\delay</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\ktime</state>
+        </option>
+        <option>
+          <name>CCStdIncCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCCodeSection</name>
+          <state>.text</state>
+        </option>
+        <option>
+          <name>IInterwork2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IProcessorMode2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptLevel</name>
+          <state>3</state>
+        </option>
+        <option>
+          <name>CCOptStrategy</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptLevelSlave</name>
+          <state>3</state>
+        </option>
+        <option>
+          <name>CompilerMisraRules98</name>
+          <version>0</version>
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+        </option>
+        <option>
+          <name>CompilerMisraRules04</name>
+          <version>0</version>
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
+        </option>
+        <option>
+          <name>CCPosIndRopi</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPosIndRwpi</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCPosIndNoDynInit</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccLang</name>
+          <state>2</state>
+        </option>
+        <option>
+          <name>IccCDialect</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccAllowVLA</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccCppDialect</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccExceptions</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccRTTI</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccStaticDestr</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccCppInlineSemantics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IccCmsis</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IccFloatSemantics</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptimizationNoSizeConstraints</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCNoLiteralPool</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCOptStrategySlave</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CCGuardCalls</name>
+          <state>1</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>AARM</name>
+      <archiveVersion>2</archiveVersion>
+      <data>
+        <version>9</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>AObjPrefix</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AEndian</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>ACaseSensitivity</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>MacroChars</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnEnable</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnWhat</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AWarnOne</name>
+          <state />
+        </option>
+        <option>
+          <name>AWarnRange1</name>
+          <state />
+        </option>
+        <option>
+          <name>AWarnRange2</name>
+          <state />
+        </option>
+        <option>
+          <name>ADebug</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AltRegisterNames</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ADefines</name>
+          <state />
+        </option>
+        <option>
+          <name>AList</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AListHeader</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AListing</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>Includes</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MacDefs</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MacExps</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>MacExec</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OnlyAssed</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>MultiLine</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>PageLengthCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>PageLength</name>
+          <state>80</state>
+        </option>
+        <option>
+          <name>TabSpacing</name>
+          <state>8</state>
+        </option>
+        <option>
+          <name>AXRef</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefDefines</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefInternal</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AXRefDual</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AFpuProcessor</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>AOutputFile</name>
+          <state>$FILE_BNAME$.o</state>
+        </option>
+        <option>
+          <name>AMultibyteSupport</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ALimitErrorsCheck</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>ALimitErrorsEdit</name>
+          <state>100</state>
+        </option>
+        <option>
+          <name>AIgnoreStdInclude</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AUserIncludes</name>
+          <state>$PROJ_DIR$\platform</state>
+        </option>
+        <option>
+          <name>AExtraOptionsCheckV2</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>AExtraOptionsV2</name>
+          <state />
+        </option>
+        <option>
+          <name>AsmNoLiteralPool</name>
+          <state>0</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>OBJCOPY</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>1</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>OOCOutputFormat</name>
+          <version>3</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OCOutputOverride</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>OOCOutputFile</name>
+          <state>c.srec</state>
+        </option>
+        <option>
+          <name>OOCCommandLineProducer</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>OOCObjCopyEnable</name>
+          <state>0</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>CUSTOM</name>
+      <archiveVersion>3</archiveVersion>
+      <data>
+        <extensions />
+        <cmdline />
+        <hasPrio>0</hasPrio>
+      </data>
+    </settings>
+    <settings>
+      <name>BICOMP</name>
+      <archiveVersion>0</archiveVersion>
+      <data />
+    </settings>
+    <settings>
+      <name>BUILDACTION</name>
+      <archiveVersion>1</archiveVersion>
+      <data>
+        <prebuild />
+        <postbuild />
+      </data>
+    </settings>
+    <settings>
+      <name>ILINK</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>16</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>IlinkLibIOConfig</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>XLinkMisraHandler</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkInputFileSlave</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkOutputFile</name>
+          <state>rtthread.out</state>
+        </option>
+        <option>
+          <name>IlinkDebugInfoEnable</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkKeepSymbols</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinaryFile</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinarySymbol</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinarySegment</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkRawBinaryAlign</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkDefines</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkConfigDefines</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkMapFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogFile</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogInitialization</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogModule</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogSection</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogVeneer</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkIcfOverride</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkIcfFile</name>
+          <state>$PROJ_DIR$\link_scripts\at91sam9g45_ram.icf</state>
+        </option>
+        <option>
+          <name>IlinkIcfFileSlave</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkEnableRemarks</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkSuppressDiags</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsRem</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsWarn</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkTreatAsErr</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkWarningsAreErrors</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkUseExtraOptions</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkExtraOptions</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkLowLevelInterfaceSlave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkAutoLibEnable</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkAdditionalLibs</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkOverrideProgramEntryLabel</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkProgramEntryLabelSelect</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkProgramEntryLabel</name>
+          <state>__iar_program_start</state>
+        </option>
+        <option>
+          <name>DoFill</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>FillerByte</name>
+          <state>0xFF</state>
+        </option>
+        <option>
+          <name>FillerStart</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>FillerEnd</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>CrcSize</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcAlign</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcPoly</name>
+          <state>0x11021</state>
+        </option>
+        <option>
+          <name>CrcCompl</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CrcBitOrder</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>CrcInitialValue</name>
+          <state>0x0</state>
+        </option>
+        <option>
+          <name>DoCrc</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkBE8Slave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkBufferedTerminalOutput</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkStdoutInterfaceSlave</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcFullSize</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkIElfToolPostProcess</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogAutoLibSelect</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogRedirSymbols</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkLogUnusedFragments</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCrcReverseByteOrder</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCrcUseAsInput</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptInline</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptExceptionsAllow</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptExceptionsForce</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkCmsis</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptMergeDuplSections</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkOptUseVfe</name>
+          <state>1</state>
+        </option>
+        <option>
+          <name>IlinkOptForceVfe</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkStackAnalysisEnable</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkStackControlFile</name>
+          <state />
+        </option>
+        <option>
+          <name>IlinkStackCallGraphFile</name>
+          <state />
+        </option>
+        <option>
+          <name>CrcAlgorithm</name>
+          <version>0</version>
+          <state>1</state>
+        </option>
+        <option>
+          <name>CrcUnitSize</name>
+          <version>0</version>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IlinkThreadsSlave</name>
+          <state>1</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>IARCHIVE</name>
+      <archiveVersion>0</archiveVersion>
+      <data>
+        <version>0</version>
+        <wantNonLocal>1</wantNonLocal>
+        <debug>0</debug>
+        <option>
+          <name>IarchiveInputs</name>
+          <state />
+        </option>
+        <option>
+          <name>IarchiveOverride</name>
+          <state>0</state>
+        </option>
+        <option>
+          <name>IarchiveOutput</name>
+          <state>###Unitialized###</state>
+        </option>
+      </data>
+    </settings>
+    <settings>
+      <name>BILINK</name>
+      <archiveVersion>0</archiveVersion>
+      <data />
+    </settings>
+  </configuration>
+  <group>
+    <name>Applications</name>
+    <file>
+      <name>$PROJ_DIR$\applications\application.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Compiler</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cctype.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cstdlib.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\ctime.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cunistd.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\cwchar.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+    </file>
+  </group>
+  <group>
+    <name>CPP</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\cplusplus\cxx_crt.cpp</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\cplusplus\cxx_crt_init.c</name>
+    </file>
+  </group>
+  <group>
+    <name>DeviceDrivers</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\rtc\dev_rtc.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Drivers</name>
+    <file>
+      <name>$PROJ_DIR$\drivers\led.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\drivers\usart.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\drivers\board.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Filesystem</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\src\dfs.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\src\dfs_file.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Finsh</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_file.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Kernel</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\components.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\object.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\scheduler_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\scheduler_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
+    </file>
+  </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+  </group>
+  <group>
+    <name>ktime</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ktime\src\hrtimer.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ktime\src\boottime.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ktime\src\cputimer.c</name>
+    </file>
+  </group>
+  <group>
+    <name>libcpu</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\context_iar.S</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\cpuport.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\machine.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\mmu.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\stack.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\start_iar.S</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\arm926\trap.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
+    </file>
+  </group>
+  <group>
+    <name>Platform</name>
+    <file>
+      <name>$PROJ_DIR$\platform\system_clock.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\platform\reset.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\platform\rt_low_level_init.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\platform\interrupt.c</name>
+    </file>
+  </group>
+  <group>
+    <name>POSIX</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\delay\delay.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_attr.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_barrier.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_cond.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_mutex.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_rwlock.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_spin.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\pthread_tls.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\pthreads\sched.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\libc\posix\tls\emutls.c</name>
+    </file>
+  </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
+</project>

+ 10 - 0
bsp/at91/at91sam9g45/project.eww

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<workspace>
+  <project>
+    <path>$WS_DIR$\project.ewp</path>
+  </project>
+  <batchBuild/>
+</workspace>
+
+

+ 242 - 44
bsp/at91/at91sam9g45/project.uvproj

@@ -357,9 +357,9 @@
             <useXO>0</useXO>
             <VariousControls>
               <MiscControls />
-              <Define>RT_USING_LIBC, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND</Define>
+              <Define>RT_USING_ARMLIBC, __RTTHREAD__, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_LIBC, __STDC_LIMIT_MACROS</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\arm926;.;..\..\..\components\drivers\ktime\inc;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\ktime;..\..\..\components\libc\posix\pthreads;..\..\..\libcpu\arm\common;platform;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;..\..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;drivers;..\..\..\components\libc\posix\io\poll;applications;..\..\..\components\drivers\include;..\..\..\components\libc\cplusplus;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\delay;..\..\..\components\drivers\include;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>..\..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\drivers\ktime\inc;..\..\..\components\libc\posix\delay;..\..\..\components\finsh;..\..\..\components\dfs\dfs_v1\include;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;drivers;.;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\posix\pthreads;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\arm926;platform;..\..\..\components\libc\cplusplus;..\..\..\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\ktime;..\..\..\components\libc\posix\io\eventfd;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\ipc;applications;..\..\..\components\libc\posix\tls</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -472,16 +472,16 @@
           <GroupName>CPP</GroupName>
           <Files>
             <File>
-              <FileName>cxx_crt.cpp</FileName>
-              <FileType>8</FileType>
-              <FilePath>..\..\..\components\libc\cplusplus\cxx_crt.cpp</FilePath>
+              <FileName>cxx_crt_init.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\libc\cplusplus\cxx_crt_init.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cxx_crt_init.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\libc\cplusplus\cxx_crt_init.c</FilePath>
+              <FileName>cxx_crt.cpp</FileName>
+              <FileType>8</FileType>
+              <FilePath>..\..\..\components\libc\cplusplus\cxx_crt.cpp</FilePath>
             </File>
           </Files>
         </Group>
@@ -508,9 +508,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -641,9 +679,28 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>dev_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\rtc\dev_rtc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -660,9 +717,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -682,9 +739,9 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>usart.c</FileName>
+              <FileName>led.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\usart.c</FilePath>
+              <FilePath>drivers\led.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -696,9 +753,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>led.c</FileName>
+              <FileName>usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\led.c</FilePath>
+              <FilePath>drivers\usart.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -709,6 +766,18 @@
               <FileName>devfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -716,6 +785,18 @@
               <FileName>dfs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -723,6 +804,18 @@
               <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -730,6 +823,18 @@
               <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -737,6 +842,18 @@
               <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
@@ -744,37 +861,37 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_file.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_file.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_file.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_file.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -820,9 +937,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -839,9 +956,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -858,9 +975,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -877,9 +994,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -896,9 +1013,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1066,6 +1183,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>ktime</GroupName>
           <Files>
@@ -1073,6 +1228,18 @@
               <FileName>hrtimer.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\drivers\ktime\src\hrtimer.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99 --gnu</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -1080,6 +1247,18 @@
               <FileName>boottime.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\drivers\ktime\src\boottime.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99 --gnu</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
           <Files>
@@ -1087,6 +1266,18 @@
               <FileName>cputimer.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\..\components\drivers\ktime\src\cputimer.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls>  --c99 --gnu</MiscControls>
+                      <Define> </Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
             </File>
           </Files>
         </Group>
@@ -1160,9 +1351,9 @@
           <GroupName>Platform</GroupName>
           <Files>
             <File>
-              <FileName>interrupt.c</FileName>
+              <FileName>reset.c</FileName>
               <FileType>1</FileType>
-              <FilePath>platform\interrupt.c</FilePath>
+              <FilePath>platform\reset.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1174,16 +1365,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>system_clock.c</FileName>
+              <FileName>interrupt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>platform\system_clock.c</FilePath>
+              <FilePath>platform\interrupt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>reset.c</FileName>
+              <FileName>system_clock.c</FileName>
               <FileType>1</FileType>
-              <FilePath>platform\reset.c</FilePath>
+              <FilePath>platform\system_clock.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1259,6 +1450,13 @@
               <FilePath>..\..\..\components\libc\posix\pthreads\sched.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>emutls.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\libc\posix\tls\emutls.c</FilePath>
+            </File>
+          </Files>
         </Group>
       </Groups>
     </Target>

+ 160 - 84
bsp/essemi/es32f0654/project.uvprojx

@@ -330,9 +330,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, ES32F065x, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__</Define>
+              <Define>RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __RTTHREAD__, ES32F065x, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\libcpu\arm\cortex-m0;.;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\compilers\common\include;libraries\CMSIS\Device\EastSoft\ES32F065x\Include;..\..\..\components\finsh;..\..\..\components\libc\posix\io\epoll;libraries\ES32F065x_ALD_StdPeriph_Driver\Include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;drivers\ES;drivers;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;applications;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;libraries\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\components\libc\posix\ipc</IncludePath>
+              <IncludePath>libraries\CMSIS\Include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\smp_call;libraries\CMSIS\Device\EastSoft\ES32F065x\Include;..\..\..\components\libc\posix\io\eventfd;..\..\..\libcpu\arm\cortex-m0;..\..\..\components\drivers\include;applications;..\..\..\include;..\..\..\components\drivers\include;libraries\ES32F065x_ALD_StdPeriph_Driver\Include;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\libc\posix\ipc;..\..\..\components\libc\posix\io\epoll;..\..\..\components\drivers\phy;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\compilers\common\include;..\..\..\components\drivers\include;drivers;.;drivers\ES</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -465,9 +465,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -598,9 +636,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -617,9 +655,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -646,16 +684,16 @@
           </Files>
           <Files>
             <File>
-              <FileName>drv_uart.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_uart.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\drv_uart.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -663,30 +701,30 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh_parse.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>msh_parse.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh_parse.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -732,9 +770,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -751,9 +789,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -770,9 +808,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -789,9 +827,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -808,9 +846,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -978,6 +1016,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1013,142 +1089,142 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>ald_calc.c</FileName>
+              <FileName>ald_cmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_gpio.c</FileName>
+              <FileName>ald_tsense.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>utils.c</FileName>
+              <FileName>ald_flash_ext.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_acmp.c</FileName>
+              <FileName>ald_pmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crc.c</FileName>
+              <FileName>ald_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_spi.c</FileName>
+              <FileName>ald_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_tsense.c</FileName>
+              <FileName>ald_timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_can.c</FileName>
+              <FileName>ald_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_usart.c</FileName>
+              <FileName>ald_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_usart.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_cmu.c</FileName>
+              <FileName>ald_rmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rmu.c</FileName>
+              <FileName>ald_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup_es32f065x.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>libraries\CMSIS\Device\EastSoft\ES32F065x\Startup\keil\startup_es32f065x.s</FilePath>
+              <FileName>ald_crc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pis.c</FileName>
+              <FileName>utils.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_iap.c</FileName>
+              <FileName>ald_pis.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_timer.c</FileName>
+              <FileName>ald_acmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_bkpc.c</FileName>
+              <FileName>ald_trng.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_flash_ext.c</FileName>
+              <FileName>ald_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pmu.c</FileName>
+              <FileName>ald_can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rtc.c</FileName>
+              <FileName>ald_calc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_trng.c</FileName>
+              <FileName>ald_iap.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1167,44 +1243,44 @@
           </Files>
           <Files>
             <File>
-              <FileName>ald_i2c.c</FileName>
+              <FileName>ald_crypt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_i2c.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_adc.c</FileName>
+              <FileName>ald_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_dma.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
+              <FileName>startup_es32f065x.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>libraries\CMSIS\Device\EastSoft\ES32F065x\Startup\keil\startup_es32f065x.s</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_smartcard.c</FileName>
+              <FileName>ald_bkpc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_smartcard.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_wdt.c</FileName>
+              <FileName>ald_smartcard.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_smartcard.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crypt.c</FileName>
+              <FileName>ald_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
+              <FilePath>libraries\ES32F065x_ALD_StdPeriph_Driver\Source\ald_usart.c</FilePath>
             </File>
           </Files>
         </Group>

+ 105 - 71
bsp/essemi/es32f365x/project.ewp

@@ -344,25 +344,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Include</state>
+          <state>$PROJ_DIR$\drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\drivers\ES</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\drivers\ES</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1381,25 +1383,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Include</state>
+          <state>$PROJ_DIR$\drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
-          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\drivers\ES</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
-          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
           <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\drivers\ES</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
-          <state>$PROJ_DIR$\drivers</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+          <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2137,7 +2141,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2158,19 +2168,19 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
     <name>Drivers</name>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\drivers\drv_gpio.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\drivers\drv_uart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\drivers\drv_uart.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\drivers\drv_gpio.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\drivers\board.c</name>
@@ -2179,13 +2189,13 @@
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\cmd.c</name>
@@ -2200,19 +2210,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2242,6 +2252,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2263,112 +2291,118 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\iar\startup_es32f36xx.s</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</name>
+      <name>$PROJ_DIR$\..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\iar\startup_es32f36xx.s</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 178 - 102
bsp/essemi/es32f365x/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, ES32F36xx, __RTTHREAD__</Define>
+              <Define>ES32F36xx, __RTTHREAD__, RT_USING_LIBC, __STDC_LIMIT_MACROS, RT_USING_ARMLIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include;..\..\..\components\libc\compilers\common\include;applications;drivers;..\es32f369x\libraries\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include;..\..\..\components\libc\posix\io\poll;.;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;drivers\ES</IncludePath>
+              <IncludePath>..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include;drivers\ES;..\..\..\include;..\..\..\components\drivers\include;drivers;..\..\..\components\finsh;..\..\..\libcpu\arm\common;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\poll;.;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\cortex-m3;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\drivers\include;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;applications;..\..\..\components\libc\posix\ipc;..\es32f369x\libraries\CMSIS\Include;..\..\..\components\libc\posix\io\epoll;..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include;..\..\..\components\drivers\phy;..\..\..\components\libc\compilers\common\include;..\..\..\components\libc\compilers\common\extension\fcntl\octal</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -468,9 +468,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -601,9 +639,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -620,9 +658,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -642,23 +680,23 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>drv_gpio.c</FileName>
+              <FileName>drv_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\drivers\drv_gpio.c</FilePath>
+              <FilePath>..\es32f369x\drivers\drv_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>drv_uart.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\drivers\drv_uart.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>..\es32f369x\drivers\drv_gpio.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -666,16 +704,16 @@
           <GroupName>Finsh</GroupName>
           <Files>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>msh.c</FileName>
+              <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\msh.c</FilePath>
+              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -687,9 +725,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>cmd.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -735,9 +773,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -754,9 +792,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -773,9 +811,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -792,9 +830,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -811,9 +849,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1000,6 +1038,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1042,247 +1118,247 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>ald_tsense.c</FileName>
+              <FileName>utils.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_nor_lcd.c</FileName>
+              <FileName>ald_sram.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_usb.c</FileName>
+              <FileName>ald_dac.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rmu.c</FileName>
+              <FileName>ald_can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_calc.c</FileName>
+              <FileName>ald_cmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_uart.c</FileName>
+              <FileName>ald_flash_ext.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rtchw.c</FileName>
+              <FileName>ald_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_i2s.c</FileName>
+              <FileName>ald_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_cmu.c</FileName>
+              <FileName>ald_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crypt.c</FileName>
+              <FileName>ald_qspi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crc.c</FileName>
+              <FileName>ald_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_adc.c</FileName>
+              <FileName>ald_rtchw.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pis.c</FileName>
+              <FileName>ald_pmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_qspi.c</FileName>
+              <FileName>ald_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_iap.c</FileName>
+              <FileName>ald_crypt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_i2c.c</FileName>
+              <FileName>ald_nand.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_sram.c</FileName>
+              <FileName>ald_usb.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_dac.c</FileName>
+              <FileName>ald_acmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_gpio.c</FileName>
+              <FileName>ald_timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_nand.c</FileName>
+              <FileName>ald_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_timer.c</FileName>
+              <FileName>ald_iap.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_wdt.c</FileName>
+              <FileName>ald_nor_lcd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_bkpc.c</FileName>
+              <FileName>ald_tsense.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_ebi.c</FileName>
+              <FileName>ald_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_flash_ext.c</FileName>
+              <FileName>ald_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup_es32f36xx.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</FilePath>
+              <FileName>ald_i2s.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>utils.c</FileName>
+              <FileName>ald_bkpc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pmu.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
+              <FileName>startup_es32f36xx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\es32f369x\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_dma.c</FileName>
+              <FileName>ald_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_spi.c</FileName>
+              <FileName>ald_trng.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_acmp.c</FileName>
+              <FileName>ald_calc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_flash.c</FileName>
+              <FileName>ald_pis.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rtc.c</FileName>
+              <FileName>ald_crc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_trng.c</FileName>
+              <FileName>ald_ebi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_can.c</FileName>
+              <FileName>ald_rmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
+              <FilePath>..\es32f369x\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
             </File>
           </Files>
         </Group>

+ 103 - 69
bsp/essemi/es32f369x/project.ewp

@@ -344,25 +344,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\drivers\ES</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\drivers\ES</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1381,25 +1383,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\smp_call</state>
+          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m3</state>
           <state>$PROJ_DIR$\..\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\include</state>
-          <state>$PROJ_DIR$\drivers\ES</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
+          <state>$PROJ_DIR$\..\..\..\include</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
           <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\eventfd</state>
+          <state>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
+          <state>$PROJ_DIR$\..\..\..\components\drivers\phy</state>
+          <state>$PROJ_DIR$\drivers\ES</state>
           <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\epoll</state>
           <state>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Include</state>
-          <state>$PROJ_DIR$\.</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
-          <state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
-          <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\..\include</state>
           <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Include</state>
-          <state>$PROJ_DIR$\libraries\CMSIS\Include</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -2137,7 +2141,13 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\core\device.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_comm.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion_up.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\condvar.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
@@ -2158,31 +2168,31 @@
       <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\pin.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\pin\dev_pin.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\drivers\serial\dev_serial.c</name>
     </file>
   </group>
   <group>
     <name>Drivers</name>
     <file>
-      <name>$PROJ_DIR$\drivers\drv_gpio.c</name>
+      <name>$PROJ_DIR$\drivers\board.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\drivers\drv_uart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\drivers\board.c</name>
+      <name>$PROJ_DIR$\drivers\drv_gpio.c</name>
     </file>
   </group>
   <group>
     <name>Finsh</name>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\components\finsh\msh.c</name>
+      <name>$PROJ_DIR$\..\..\..\components\finsh\shell.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\components\finsh\msh_parse.c</name>
@@ -2200,19 +2210,19 @@
       <name>$PROJ_DIR$\..\..\..\src\components.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\cpu_up.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\defunct.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+      <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
@@ -2242,6 +2252,24 @@
       <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
     </file>
   </group>
+  <group>
+    <name>klibc</name>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstdio.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsscanf.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kstring.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\kerrno.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\..\..\..\src\klibc\rt_vsnprintf_tiny.c</name>
+    </file>
+  </group>
   <group>
     <name>libcpu</name>
     <file>
@@ -2263,112 +2291,118 @@
   <group>
     <name>Libraries</name>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2c.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</name>
+      <name>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\iar\startup_es32f36xx.s</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_sram.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nand.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\iar\startup_es32f36xx.s</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</name>
+      <name>$PROJ_DIR$\libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</name>
     </file>
   </group>
   <group>
     <name>POSIX</name>
   </group>
+  <group>
+    <name>smp</name>
+  </group>
+  <group>
+    <name>utestcases</name>
+  </group>
 </project>

+ 171 - 95
bsp/essemi/es32f369x/project.uvprojx

@@ -333,9 +333,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls />
-              <Define>__STDC_LIMIT_MACROS, RT_USING_ARMLIBC, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, ES32F36xx, __RTTHREAD__</Define>
+              <Define>__RTTHREAD__, RT_USING_ARMLIBC, __STDC_LIMIT_MACROS, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, ES32F36xx</Define>
               <Undefine />
-              <IncludePath>..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\libcpu\arm\cortex-m3;libraries\ES32F36xx_ALD_StdPeriph_Driver\Include;drivers\ES;applications;..\..\..\components\libc\compilers\common\include;.;libraries\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\libcpu\arm\common;..\..\..\components\drivers\include;..\..\..\include;..\..\..\components\libc\posix\io\eventfd;libraries\CMSIS\Device\EastSoft\ES32F36xx\Include;..\..\..\components\libc\posix\io\poll;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\extension;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\epoll;..\..\..\components\libc\posix\ipc;..\..\..\components\finsh;drivers</IncludePath>
+              <IncludePath>.;..\..\..\components\drivers\include;applications;..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\components\finsh;libraries\CMSIS\Include;..\..\..\components\drivers\include;..\..\..\include;libraries\CMSIS\Device\EastSoft\ES32F36xx\Include;..\..\..\components\drivers\include;..\..\..\components\drivers\phy;libraries\ES32F36xx_ALD_StdPeriph_Driver\Include;drivers;..\..\..\components\libc\compilers\common\extension;..\..\..\components\libc\posix\io\epoll;..\..\..\libcpu\arm\common;..\..\..\components\libc\posix\io\eventfd;..\..\..\components\libc\posix\ipc;..\..\..\components\drivers\smp_call;..\..\..\components\drivers\include;..\..\..\components\libc\compilers\common\include;drivers\ES;..\..\..\components\drivers\include;..\..\..\components\libc\posix\io\poll;..\..\..\libcpu\arm\cortex-m3</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -468,9 +468,47 @@
           </Files>
           <Files>
             <File>
-              <FileName>completion.c</FileName>
+              <FileName>completion_comm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath>
+              <FilePath>..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>completion_up.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+              <FileOption>
+                <FileArmAds>
+                  <Cads>
+                    <VariousControls>
+                      <MiscControls> </MiscControls>
+                      <Define>__RT_IPC_SOURCE__</Define>
+                      <Undefine> </Undefine>
+                      <IncludePath> </IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>condvar.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\drivers\ipc\condvar.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -601,9 +639,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>pin.c</FileName>
+              <FileName>dev_pin.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\pin\pin.c</FilePath>
+              <FilePath>..\..\..\components\drivers\pin\dev_pin.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -620,9 +658,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>serial.c</FileName>
+              <FileName>dev_serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
+              <FilePath>..\..\..\components\drivers\serial\dev_serial.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -642,9 +680,9 @@
           <GroupName>Drivers</GroupName>
           <Files>
             <File>
-              <FileName>drv_gpio.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_gpio.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -656,21 +694,14 @@
           </Files>
           <Files>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>drv_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
+              <FilePath>drivers\drv_gpio.c</FilePath>
             </File>
           </Files>
         </Group>
         <Group>
           <GroupName>Finsh</GroupName>
-          <Files>
-            <File>
-              <FileName>shell.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
-            </File>
-          </Files>
           <Files>
             <File>
               <FileName>msh.c</FileName>
@@ -692,6 +723,13 @@
               <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
             </File>
           </Files>
+          <Files>
+            <File>
+              <FileName>shell.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\components\finsh\shell.c</FilePath>
+            </File>
+          </Files>
         </Group>
         <Group>
           <GroupName>Kernel</GroupName>
@@ -735,9 +773,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>cpu_up.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\idle.c</FilePath>
+              <FilePath>..\..\..\src\cpu_up.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -754,9 +792,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>ipc.c</FileName>
+              <FileName>defunct.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\ipc.c</FilePath>
+              <FilePath>..\..\..\src\defunct.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -773,9 +811,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\irq.c</FilePath>
+              <FilePath>..\..\..\src\idle.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -792,9 +830,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstdio.c</FileName>
+              <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+              <FilePath>..\..\..\src\ipc.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -811,9 +849,9 @@
           </Files>
           <Files>
             <File>
-              <FileName>kstring.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+              <FilePath>..\..\..\src\irq.c</FilePath>
               <FileOption>
                 <FileArmAds>
                   <Cads>
@@ -1000,6 +1038,44 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>klibc</GroupName>
+          <Files>
+            <File>
+              <FileName>kerrno.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kerrno.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsnprintf_tiny.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsnprintf_tiny.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstdio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstdio.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>rt_vsscanf.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\rt_vsscanf.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>kstring.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\src\klibc\kstring.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>libcpu</GroupName>
           <Files>
@@ -1042,16 +1118,16 @@
           <GroupName>Libraries</GroupName>
           <Files>
             <File>
-              <FileName>ald_i2s.c</FileName>
+              <FileName>ald_pis.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_dac.c</FileName>
+              <FileName>ald_can.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1063,79 +1139,79 @@
           </Files>
           <Files>
             <File>
-              <FileName>ald_calc.c</FileName>
+              <FileName>ald_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_usb.c</FileName>
+              <FileName>ald_iap.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_gpio.c</FileName>
+              <FileName>ald_tsense.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_uart.c</FileName>
+              <FileName>ald_qspi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_tsense.c</FileName>
+              <FileName>ald_usb.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_tsense.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_usb.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_flash_ext.c</FileName>
+              <FileName>ald_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rtc.c</FileName>
+              <FileName>ald_calc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_calc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_iap.c</FileName>
+              <FileName>ald_rtchw.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_iap.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rmu.c</FileName>
+              <FileName>ald_i2s.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_i2s.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_adc.c</FileName>
+              <FileName>ald_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_ebi.c</FileName>
+              <FileName>ald_trng.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
             </File>
           </Files>
           <Files>
@@ -1154,135 +1230,135 @@
           </Files>
           <Files>
             <File>
-              <FileName>utils.c</FileName>
+              <FileName>ald_crypt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_can.c</FileName>
+              <FileName>utils.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_can.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\utils.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_acmp.c</FileName>
+              <FileName>ald_dac.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dac.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crypt.c</FileName>
+              <FileName>ald_crc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crypt.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_rtchw.c</FileName>
+              <FileName>ald_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rtchw.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_gpio.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_crc.c</FileName>
+              <FileName>ald_bkpc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_crc.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_trng.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_trng.c</FilePath>
+              <FileName>startup_es32f36xx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_timer.c</FileName>
+              <FileName>ald_wdt.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pis.c</FileName>
+              <FileName>ald_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pis.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_adc.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_cmu.c</FileName>
+              <FileName>ald_pmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_nor_lcd.c</FileName>
+              <FileName>ald_acmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_acmp.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_wdt.c</FileName>
+              <FileName>ald_uart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_wdt.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_uart.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>startup_es32f36xx.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>libraries\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</FilePath>
+              <FileName>ald_timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_timer.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_flash.c</FileName>
+              <FileName>ald_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_spi.c</FileName>
+              <FileName>ald_nor_lcd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_spi.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_nor_lcd.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_dma.c</FileName>
+              <FileName>ald_ebi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_dma.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_ebi.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_qspi.c</FileName>
+              <FileName>ald_rmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_qspi.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_rmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_pmu.c</FileName>
+              <FileName>ald_cmu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_pmu.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_cmu.c</FilePath>
             </File>
           </Files>
           <Files>
             <File>
-              <FileName>ald_bkpc.c</FileName>
+              <FileName>ald_flash_ext.c</FileName>
               <FileType>1</FileType>
-              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_bkpc.c</FilePath>
+              <FilePath>libraries\ES32F36xx_ALD_StdPeriph_Driver\Source\ald_flash_ext.c</FilePath>
             </File>
           </Files>
         </Group>

Некоторые файлы не были показаны из-за большого количества измененных файлов