Browse Source

Merge pull request #5121 from GoldBr1987/master

modify set uart clk bug
Bernard Xiong 3 years ago
parent
commit
bea0b197a7
3 changed files with 1086 additions and 369 deletions
  1. 52 1
      bsp/hc32f4a0/drivers/drv_usart.c
  2. 855 1
      bsp/hc32f4a0/project.uvoptx
  3. 179 367
      bsp/hc32f4a0/project.uvprojx

+ 52 - 1
bsp/hc32f4a0/drivers/drv_usart.c

@@ -6,6 +6,7 @@
  * Change Logs:
  * Change Logs:
  * Date           Author       Notes
  * Date           Author       Notes
  * 2020-10-30     CDT          first version
  * 2020-10-30     CDT          first version
+ * 2021-10-05     lizhengyang  fix set uart clk bug
  */
  */
 
 
 /*******************************************************************************
 /*******************************************************************************
@@ -289,6 +290,39 @@ static struct hc32_uart uart_obj[] =
     UART_CONFIG("uart10", USART10),
     UART_CONFIG("uart10", USART10),
 #endif
 #endif
 };
 };
+static const struct uart_index uart_clock_map[] =
+{
+#ifdef BSP_USING_UART1
+    {0, M4_USART1},
+#endif
+#ifdef BSP_USING_UART2
+    {1, M4_USART2},
+#endif
+#ifdef BSP_USING_UART3
+    {2, M4_USART3},
+#endif
+#ifdef BSP_USING_UART4
+    {3, M4_USART4},
+#endif
+#ifdef BSP_USING_UART5
+    {4, M4_USART5},
+#endif
+#ifdef BSP_USING_UART6
+    {5, M4_USART6},
+#endif
+#ifdef BSP_USING_UART7
+    {6, M4_USART7},
+#endif
+#ifdef BSP_USING_UART8
+    {7, M4_USART8},
+#endif
+#ifdef BSP_USING_UART9
+    {8, M4_USART9},
+#endif
+#ifdef BSP_USING_UART10
+    {9, M4_USART10},
+#endif
+};
 
 
 static const struct uart_irq_handler uart_irq_handlers[sizeof(uart_obj) / sizeof(uart_obj[0])];
 static const struct uart_irq_handler uart_irq_handlers[sizeof(uart_obj) / sizeof(uart_obj[0])];
 
 
@@ -313,9 +347,26 @@ static uint32_t hc32_get_uart_index(M4_USART_TypeDef *Instance)
     return index;
     return index;
 }
 }
 
 
+static uint32_t hc32_get_uart_clock_index(M4_USART_TypeDef *Instance)
+{
+    uint32_t index = 10;
+
+    for (uint8_t i = 0U; i < ARRAY_SZ(uart_clock_map); i++)
+    {
+        if (uart_clock_map[i].Instance == Instance)
+        {
+            index = uart_clock_map[i].index;
+            RT_ASSERT(index < 10)
+            break;
+        }
+    }
+
+    return index;
+}
+
 static uint32_t hc32_get_usart_fcg(M4_USART_TypeDef *Instance)
 static uint32_t hc32_get_usart_fcg(M4_USART_TypeDef *Instance)
 {
 {
-    return (PWC_FCG3_USART1 << hc32_get_uart_index(Instance));
+    return (PWC_FCG3_USART1 << hc32_get_uart_clock_index(Instance));
 }
 }
 
 
 static rt_err_t hc32_configure(struct rt_serial_device *serial,
 static rt_err_t hc32_configure(struct rt_serial_device *serial,

+ 855 - 1
bsp/hc32f4a0/project.uvoptx

@@ -100,7 +100,10 @@
         <tRSysVw>1</tRSysVw>
         <tRSysVw>1</tRSysVw>
         <sRunDeb>0</sRunDeb>
         <sRunDeb>0</sRunDeb>
         <sLrtime>0</sLrtime>
         <sLrtime>0</sLrtime>
-        <nTsel>6</nTsel>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>3</nTsel>
         <sDll></sDll>
         <sDll></sDll>
         <sDllPa></sDllPa>
         <sDllPa></sDllPa>
         <sDlgDll></sDlgDll>
         <sDlgDll></sDlgDll>
@@ -158,8 +161,19 @@
       <LintExecutable></LintExecutable>
       <LintExecutable></LintExecutable>
       <LintConfigFile></LintConfigFile>
       <LintConfigFile></LintConfigFile>
       <bLintAuto>0</bLintAuto>
       <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
       <DebugDescription>
       <DebugDescription>
         <Enable>1</Enable>
         <Enable>1</Enable>
+        <EnableFlashSeq>0</EnableFlashSeq>
         <EnableLog>0</EnableLog>
         <EnableLog>0</EnableLog>
         <Protocol>2</Protocol>
         <Protocol>2</Protocol>
         <DbgClock>1000000</DbgClock>
         <DbgClock>1000000</DbgClock>
@@ -167,4 +181,844 @@
     </TargetOption>
     </TargetOption>
   </Target>
   </Target>
 
 
+  <Group>
+    <GroupName>Applications</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>CPU</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\div0.c</PathWithFileName>
+      <FilenameWithoutPath>div0.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\showmem.c</PathWithFileName>
+      <FilenameWithoutPath>showmem.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\backtrace.c</PathWithFileName>
+      <FilenameWithoutPath>backtrace.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\cortex-m4\cpuport.c</PathWithFileName>
+      <FilenameWithoutPath>cpuport.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\cortex-m4\context_rvds.S</PathWithFileName>
+      <FilenameWithoutPath>context_rvds.S</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>DeviceDrivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\misc\pin.c</PathWithFileName>
+      <FilenameWithoutPath>pin.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\serial\serial.c</PathWithFileName>
+      <FilenameWithoutPath>serial.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\ringbuffer.c</PathWithFileName>
+      <FilenameWithoutPath>ringbuffer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\ringblk_buf.c</PathWithFileName>
+      <FilenameWithoutPath>ringblk_buf.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\dataqueue.c</PathWithFileName>
+      <FilenameWithoutPath>dataqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>12</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\waitqueue.c</PathWithFileName>
+      <FilenameWithoutPath>waitqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>13</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\workqueue.c</PathWithFileName>
+      <FilenameWithoutPath>workqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\pipe.c</PathWithFileName>
+      <FilenameWithoutPath>pipe.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\completion.c</PathWithFileName>
+      <FilenameWithoutPath>completion.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Drivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>board\board_config.c</PathWithFileName>
+      <FilenameWithoutPath>board_config.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>17</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>board\board.c</PathWithFileName>
+      <FilenameWithoutPath>board.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>18</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>drv_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>19</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_irq.c</PathWithFileName>
+      <FilenameWithoutPath>drv_irq.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>20</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_usart.c</PathWithFileName>
+      <FilenameWithoutPath>drv_usart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Filesystem</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>21</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_posix.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_posix.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>22</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_poll.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_poll.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>23</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_file.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_file.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>24</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs.c</PathWithFileName>
+      <FilenameWithoutPath>dfs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>25</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_fs.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_fs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>26</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_select.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_select.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>27</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\filesystems\devfs\devfs.c</PathWithFileName>
+      <FilenameWithoutPath>devfs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Finsh</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>28</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\shell.c</PathWithFileName>
+      <FilenameWithoutPath>shell.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>29</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh.c</PathWithFileName>
+      <FilenameWithoutPath>msh.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>30</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh_file.c</PathWithFileName>
+      <FilenameWithoutPath>msh_file.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>HC32_StdPeriph</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>31</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_icg.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_icg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>32</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_dma.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_dma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>33</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_clk.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_clk.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>34</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_sram.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_sram.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>35</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_pwc.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_pwc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>36</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>37</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_tmr0.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_tmr0.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>38</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_interrupts.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_interrupts.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>39</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_efm.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_efm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>40</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\ARM\startup_hc32f4a0.s</PathWithFileName>
+      <FilenameWithoutPath>startup_hc32f4a0.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>41</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\system_hc32f4a0.c</PathWithFileName>
+      <FilenameWithoutPath>system_hc32f4a0.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>42</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_usart.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_usart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>43</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_utility.c</PathWithFileName>
+      <FilenameWithoutPath>hc32f4a0_utility.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Kernel</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>44</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\thread.c</PathWithFileName>
+      <FilenameWithoutPath>thread.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>45</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\scheduler.c</PathWithFileName>
+      <FilenameWithoutPath>scheduler.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>46</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\mem.c</PathWithFileName>
+      <FilenameWithoutPath>mem.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>47</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\ipc.c</PathWithFileName>
+      <FilenameWithoutPath>ipc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>48</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\idle.c</PathWithFileName>
+      <FilenameWithoutPath>idle.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>49</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\timer.c</PathWithFileName>
+      <FilenameWithoutPath>timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>50</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\irq.c</PathWithFileName>
+      <FilenameWithoutPath>irq.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>51</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\mempool.c</PathWithFileName>
+      <FilenameWithoutPath>mempool.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>52</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\object.c</PathWithFileName>
+      <FilenameWithoutPath>object.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>53</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\device.c</PathWithFileName>
+      <FilenameWithoutPath>device.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>54</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\components.c</PathWithFileName>
+      <FilenameWithoutPath>components.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>55</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\clock.c</PathWithFileName>
+      <FilenameWithoutPath>clock.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>56</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\kservice.c</PathWithFileName>
+      <FilenameWithoutPath>kservice.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>libc</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>57</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\libc.c</PathWithFileName>
+      <FilenameWithoutPath>libc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>58</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\syscalls.c</PathWithFileName>
+      <FilenameWithoutPath>syscalls.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>59</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\mem_std.c</PathWithFileName>
+      <FilenameWithoutPath>mem_std.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>60</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\stdio.c</PathWithFileName>
+      <FilenameWithoutPath>stdio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>61</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\common\unistd.c</PathWithFileName>
+      <FilenameWithoutPath>unistd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>62</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\common\time.c</PathWithFileName>
+      <FilenameWithoutPath>time.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>63</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\common\stdlib.c</PathWithFileName>
+      <FilenameWithoutPath>stdlib.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>64</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\common\delay.c</PathWithFileName>
+      <FilenameWithoutPath>delay.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
 </ProjectOpt>
 </ProjectOpt>

+ 179 - 367
bsp/hc32f4a0/project.uvprojx

@@ -1,42 +1,46 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
 <Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
   <SchemaVersion>2.1</SchemaVersion>
   <SchemaVersion>2.1</SchemaVersion>
+
   <Header>### uVision Project, (C) Keil Software</Header>
   <Header>### uVision Project, (C) Keil Software</Header>
+
   <Targets>
   <Targets>
     <Target>
     <Target>
       <TargetName>rt-thread</TargetName>
       <TargetName>rt-thread</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
       <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060020::V5.06 (build 20)::ARMCC</pCCUsed>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
+      <uAC6>0</uAC6>
       <TargetOption>
       <TargetOption>
         <TargetCommonOption>
         <TargetCommonOption>
           <Device>HC32F4A0SITB</Device>
           <Device>HC32F4A0SITB</Device>
           <Vendor>HDSC</Vendor>
           <Vendor>HDSC</Vendor>
-          <PackID>HDSC.HC32F4A0.1.0.0</PackID>
+          <PackID>HDSC.HC32F4A0.1.0.4</PackID>
           <PackURL>https://raw.githubusercontent.com/hdscmcu/pack/master/</PackURL>
           <PackURL>https://raw.githubusercontent.com/hdscmcu/pack/master/</PackURL>
           <Cpu>IROM(0x00000000,0x200000) IRAM(0x1FFE0000,0x80000)  IRAM2(0X200F0000,0x1000) CPUTYPE("Cortex-M4") FPU2 CLOCK(240000000) ESEL ELITTLE</Cpu>
           <Cpu>IROM(0x00000000,0x200000) IRAM(0x1FFE0000,0x80000)  IRAM2(0X200F0000,0x1000) CPUTYPE("Cortex-M4") FPU2 CLOCK(240000000) ESEL ELITTLE</Cpu>
-          <FlashUtilSpec />
-          <StartupFile />
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
           <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD1FFE0000 -FC1000 -FN1 -FF0HC32F4A0 -FS00 -FL0200000 -FP0($$Device:HC32F4A0SITB$FlashARM\HC32F4A0_2M.FLM))</FlashDriverDll>
           <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD1FFE0000 -FC1000 -FN1 -FF0HC32F4A0 -FS00 -FL0200000 -FP0($$Device:HC32F4A0SITB$FlashARM\HC32F4A0_2M.FLM))</FlashDriverDll>
           <DeviceId>0</DeviceId>
           <DeviceId>0</DeviceId>
           <RegisterFile>$$Device:HC32F4A0SITB$Device\Include\HC32F4A0SITB.h</RegisterFile>
           <RegisterFile>$$Device:HC32F4A0SITB$Device\Include\HC32F4A0SITB.h</RegisterFile>
-          <MemoryEnv />
-          <Cmp />
-          <Asm />
-          <Linker />
-          <OHString />
-          <InfinionOptionDll />
-          <SLE66CMisc />
-          <SLE66AMisc />
-          <SLE66LinkerMisc />
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
           <SFDFile>$$Device:HC32F4A0SITB$CMSIS\SVD\hdsc_hc32f4a0.SFR</SFDFile>
           <SFDFile>$$Device:HC32F4A0SITB$CMSIS\SVD\hdsc_hc32f4a0.SFR</SFDFile>
           <bCustSvd>1</bCustSvd>
           <bCustSvd>1</bCustSvd>
           <UseEnv>0</UseEnv>
           <UseEnv>0</UseEnv>
-          <BinPath />
-          <IncludePath />
-          <LibPath />
-          <RegisterFilePath />
-          <DBRegisterFilePath />
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
           <TargetStatus>
           <TargetStatus>
             <Error>0</Error>
             <Error>0</Error>
             <ExitCodeStop>0</ExitCodeStop>
             <ExitCodeStop>0</ExitCodeStop>
@@ -50,7 +54,7 @@
           <CreateLib>0</CreateLib>
           <CreateLib>0</CreateLib>
           <CreateHexFile>0</CreateHexFile>
           <CreateHexFile>0</CreateHexFile>
           <DebugInformation>1</DebugInformation>
           <DebugInformation>1</DebugInformation>
-          <BrowseInformation>0</BrowseInformation>
+          <BrowseInformation>1</BrowseInformation>
           <ListingPath>.\build\</ListingPath>
           <ListingPath>.\build\</ListingPath>
           <HexFormatSelection>1</HexFormatSelection>
           <HexFormatSelection>1</HexFormatSelection>
           <Merge32K>0</Merge32K>
           <Merge32K>0</Merge32K>
@@ -58,8 +62,8 @@
           <BeforeCompile>
           <BeforeCompile>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name />
-            <UserProg2Name />
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopU1X>0</nStopU1X>
             <nStopU1X>0</nStopU1X>
@@ -68,8 +72,8 @@
           <BeforeMake>
           <BeforeMake>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name />
-            <UserProg2Name />
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopB1X>0</nStopB1X>
             <nStopB1X>0</nStopB1X>
@@ -79,14 +83,14 @@
             <RunUserProg1>1</RunUserProg1>
             <RunUserProg1>1</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
             <RunUserProg2>0</RunUserProg2>
             <UserProg1Name>fromelf --bin !L --output rtthread.bin</UserProg1Name>
             <UserProg1Name>fromelf --bin !L --output rtthread.bin</UserProg1Name>
-            <UserProg2Name />
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopA1X>0</nStopA1X>
             <nStopA1X>0</nStopA1X>
             <nStopA2X>0</nStopA2X>
             <nStopA2X>0</nStopA2X>
           </AfterMake>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
-          <SVCSIdString />
+          <SVCSIdString></SVCSIdString>
         </TargetCommonOption>
         </TargetCommonOption>
         <CommonProperty>
         <CommonProperty>
           <UseCPPCompiler>0</UseCPPCompiler>
           <UseCPPCompiler>0</UseCPPCompiler>
@@ -100,8 +104,8 @@
           <AssembleAssemblyFile>0</AssembleAssemblyFile>
           <AssembleAssemblyFile>0</AssembleAssemblyFile>
           <PublicsOnly>0</PublicsOnly>
           <PublicsOnly>0</PublicsOnly>
           <StopOnExitCode>3</StopOnExitCode>
           <StopOnExitCode>3</StopOnExitCode>
-          <CustomArgument />
-          <IncludeLibraryModules />
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
           <ComprImg>1</ComprImg>
           <ComprImg>1</ComprImg>
         </CommonProperty>
         </CommonProperty>
         <DllOption>
         <DllOption>
@@ -122,47 +126,6 @@
             <HexOffset>0</HexOffset>
             <HexOffset>0</HexOffset>
             <Oh166RecLen>16</Oh166RecLen>
             <Oh166RecLen>16</Oh166RecLen>
           </OPTHX>
           </OPTHX>
-          <Simulator>
-            <UseSimulator>0</UseSimulator>
-            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>1</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Simulator>
-          <Target>
-            <UseTarget>1</UseTarget>
-            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
-            <RunToMain>1</RunToMain>
-            <RestoreBreakpoints>1</RestoreBreakpoints>
-            <RestoreWatchpoints>1</RestoreWatchpoints>
-            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
-            <RestoreFunctions>0</RestoreFunctions>
-            <RestoreToolbox>1</RestoreToolbox>
-            <RestoreTracepoints>1</RestoreTracepoints>
-            <RestoreSysVw>1</RestoreSysVw>
-          </Target>
-          <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>6</TargetSelection>
-          <SimDlls>
-            <CpuDll />
-            <CpuDllArguments />
-            <PeripheralDll />
-            <PeripheralDllArguments />
-            <InitializationFile />
-          </SimDlls>
-          <TargetDlls>
-            <CpuDll />
-            <CpuDllArguments />
-            <PeripheralDll />
-            <PeripheralDllArguments />
-            <InitializationFile />
-            <Driver>Segger\JL2CM3.dll</Driver>
-          </TargetDlls>
         </DebugOption>
         </DebugOption>
         <Utilities>
         <Utilities>
           <Flash1>
           <Flash1>
@@ -176,10 +139,10 @@
           <bUseTDR>1</bUseTDR>
           <bUseTDR>1</bUseTDR>
           <Flash2>BIN\UL2CM3.DLL</Flash2>
           <Flash2>BIN\UL2CM3.DLL</Flash2>
           <Flash3>"" ()</Flash3>
           <Flash3>"" ()</Flash3>
-          <Flash4 />
-          <pFcarmOut />
-          <pFcarmGrp />
-          <pFcArmRoot />
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
           <FcArmLst>0</FcArmLst>
           <FcArmLst>0</FcArmLst>
         </Utilities>
         </Utilities>
         <TargetArmAds>
         <TargetArmAds>
@@ -212,7 +175,7 @@
             <RvctClst>0</RvctClst>
             <RvctClst>0</RvctClst>
             <GenPPlst>0</GenPPlst>
             <GenPPlst>0</GenPPlst>
             <AdsCpuType>"Cortex-M4"</AdsCpuType>
             <AdsCpuType>"Cortex-M4"</AdsCpuType>
-            <RvctDeviceName />
+            <RvctDeviceName></RvctDeviceName>
             <mOS>0</mOS>
             <mOS>0</mOS>
             <uocRom>0</uocRom>
             <uocRom>0</uocRom>
             <uocRam>0</uocRam>
             <uocRam>0</uocRam>
@@ -221,11 +184,13 @@
             <hadXRAM>0</hadXRAM>
             <hadXRAM>0</hadXRAM>
             <uocXRam>0</uocXRam>
             <uocXRam>0</uocXRam>
             <RvdsVP>1</RvdsVP>
             <RvdsVP>1</RvdsVP>
+            <RvdsMve>0</RvdsMve>
+            <RvdsCdeCp>0</RvdsCdeCp>
             <hadIRAM2>1</hadIRAM2>
             <hadIRAM2>1</hadIRAM2>
             <hadIROM2>0</hadIROM2>
             <hadIROM2>0</hadIROM2>
             <StupSel>8</StupSel>
             <StupSel>8</StupSel>
             <useUlib>0</useUlib>
             <useUlib>0</useUlib>
-            <EndSel>0</EndSel>
+            <EndSel>1</EndSel>
             <uLtcg>0</uLtcg>
             <uLtcg>0</uLtcg>
             <nSecure>0</nSecure>
             <nSecure>0</nSecure>
             <RoSelD>3</RoSelD>
             <RoSelD>3</RoSelD>
@@ -280,13 +245,13 @@
               </Ocm6>
               </Ocm6>
               <IRAM>
               <IRAM>
                 <Type>0</Type>
                 <Type>0</Type>
-                <StartAddress>0x1fff8000</StartAddress>
-                <Size>0x8000</Size>
+                <StartAddress>0x1ffe0000</StartAddress>
+                <Size>0x80000</Size>
               </IRAM>
               </IRAM>
               <IROM>
               <IROM>
                 <Type>1</Type>
                 <Type>1</Type>
                 <StartAddress>0x0</StartAddress>
                 <StartAddress>0x0</StartAddress>
-                <Size>0x80000</Size>
+                <Size>0x200000</Size>
               </IROM>
               </IROM>
               <XRAM>
               <XRAM>
                 <Type>0</Type>
                 <Type>0</Type>
@@ -344,7 +309,7 @@
                 <Size>0x10000</Size>
                 <Size>0x10000</Size>
               </OCR_RVCT10>
               </OCR_RVCT10>
             </OnChipMemories>
             </OnChipMemories>
-            <RvctStartVector />
+            <RvctStartVector></RvctStartVector>
           </ArmAdsMisc>
           </ArmAdsMisc>
           <Cads>
           <Cads>
             <interw>1</interw>
             <interw>1</interw>
@@ -361,16 +326,20 @@
             <uThumb>0</uThumb>
             <uThumb>0</uThumb>
             <uSurpInc>0</uSurpInc>
             <uSurpInc>0</uSurpInc>
             <uC99>1</uC99>
             <uC99>1</uC99>
+            <uGnu>0</uGnu>
             <useXO>0</useXO>
             <useXO>0</useXO>
             <v6Lang>0</v6Lang>
             <v6Lang>0</v6Lang>
             <v6LangP>0</v6LangP>
             <v6LangP>0</v6LangP>
             <vShortEn>0</vShortEn>
             <vShortEn>0</vShortEn>
             <vShortWch>0</vShortWch>
             <vShortWch>0</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <v6Rtti>0</v6Rtti>
             <VariousControls>
             <VariousControls>
               <MiscControls>--diag_suppress=186,66</MiscControls>
               <MiscControls>--diag_suppress=186,66</MiscControls>
-              <Define>RT_USING_ARM_LIBC, USE_DDL_DRIVER, __DEBUG, HC32F4A0, __RTTHREAD__</Define>
-              <Undefine />
-              <IncludePath>applications;.;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;board;drivers;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\finsh;Libraries\CMSIS\Include;Libraries\CMSIS\Device\HDSC\HC32F4A0\Include;Libraries\HC32F4A0_StdPeriph_Driver\inc;.;..\..\include;..\..\components\libc\compilers\armlibc;..\..\components\libc\compilers\common</IncludePath>
+              <Define>__CLK_TCK=RT_TICK_PER_SECOND, USE_DDL_DRIVER, HC32F4A0, __RTTHREAD__, __DEBUG, RT_USING_ARM_LIBC</Define>
+              <Undefine></Undefine>
+              <IncludePath>applications;.;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;board;drivers;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\finsh;Libraries\CMSIS\Include;Libraries\CMSIS\Device\HDSC\HC32F4A0\Include;Libraries\HC32F4A0_StdPeriph_Driver\inc;.;..\..\include;..\..\components\libc\compilers\armlibc;..\..\components\libc\compilers\common;..\..\components\libc\compilers\common\nogcc;..\..\examples\utest\testcases\kernel</IncludePath>
             </VariousControls>
             </VariousControls>
           </Cads>
           </Cads>
           <Aads>
           <Aads>
@@ -383,11 +352,12 @@
             <NoWarn>0</NoWarn>
             <NoWarn>0</NoWarn>
             <uSurpInc>0</uSurpInc>
             <uSurpInc>0</uSurpInc>
             <useXO>0</useXO>
             <useXO>0</useXO>
+            <ClangAsOpt>1</ClangAsOpt>
             <VariousControls>
             <VariousControls>
-              <MiscControls />
-              <Define />
-              <Undefine />
-              <IncludePath />
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
             </VariousControls>
             </VariousControls>
           </Aads>
           </Aads>
           <LDads>
           <LDads>
@@ -399,13 +369,13 @@
             <useFile>0</useFile>
             <useFile>0</useFile>
             <TextAddressRange>0x00000000</TextAddressRange>
             <TextAddressRange>0x00000000</TextAddressRange>
             <DataAddressRange>0x1FFF8000</DataAddressRange>
             <DataAddressRange>0x1FFF8000</DataAddressRange>
-            <pXoBase />
+            <pXoBase></pXoBase>
             <ScatterFile>.\board\linker_scripts\link.sct</ScatterFile>
             <ScatterFile>.\board\linker_scripts\link.sct</ScatterFile>
-            <IncludeLibs />
-            <IncludeLibsPath />
-            <Misc />
-            <LinkerInputFile />
-            <DisabledWarnings />
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
           </LDads>
           </LDads>
         </TargetArmAds>
         </TargetArmAds>
       </TargetOption>
       </TargetOption>
@@ -421,36 +391,28 @@
           </Files>
           </Files>
         </Group>
         </Group>
         <Group>
         <Group>
-          <GroupName>cpu</GroupName>
-          <Files>
-            <File>
-              <FileName>backtrace.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
-            </File>
-          </Files>
+          <GroupName>CPU</GroupName>
           <Files>
           <Files>
             <File>
             <File>
               <FileName>div0.c</FileName>
               <FileName>div0.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
               <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>showmem.c</FileName>
               <FileName>showmem.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\common\showmem.c</FilePath>
               <FilePath>..\..\libcpu\arm\common\showmem.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
+            <File>
+              <FileName>backtrace.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
+            </File>
             <File>
             <File>
               <FileName>cpuport.c</FileName>
               <FileName>cpuport.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath>
               <FilePath>..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>context_rvds.S</FileName>
               <FileName>context_rvds.S</FileName>
               <FileType>2</FileType>
               <FileType>2</FileType>
@@ -466,95 +428,71 @@
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\misc\pin.c</FilePath>
               <FilePath>..\..\components\drivers\misc\pin.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>serial.c</FileName>
               <FileName>serial.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
               <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>completion.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\src\completion.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>dataqueue.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>pipe.c</FileName>
+              <FileName>ringbuffer.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
+              <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>ringblk_buf.c</FileName>
               <FileName>ringblk_buf.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\ringblk_buf.c</FilePath>
               <FilePath>..\..\components\drivers\src\ringblk_buf.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>ringbuffer.c</FileName>
+              <FileName>dataqueue.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
+              <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>waitqueue.c</FileName>
               <FileName>waitqueue.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\waitqueue.c</FilePath>
               <FilePath>..\..\components\drivers\src\waitqueue.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>workqueue.c</FileName>
               <FileName>workqueue.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\workqueue.c</FilePath>
               <FilePath>..\..\components\drivers\src\workqueue.c</FilePath>
             </File>
             </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>Drivers</GroupName>
-          <Files>
             <File>
             <File>
-              <FileName>board.c</FileName>
+              <FileName>pipe.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>board\board.c</FilePath>
+              <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
+            </File>
+            <File>
+              <FileName>completion.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\drivers\src\completion.c</FilePath>
             </File>
             </File>
           </Files>
           </Files>
+        </Group>
+        <Group>
+          <GroupName>Drivers</GroupName>
           <Files>
           <Files>
             <File>
             <File>
               <FileName>board_config.c</FileName>
               <FileName>board_config.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>board\board_config.c</FilePath>
               <FilePath>board\board_config.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>drv_irq.c</FileName>
+              <FileName>board.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>drivers\drv_irq.c</FilePath>
+              <FilePath>board\board.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>drv_gpio.c</FileName>
               <FileName>drv_gpio.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>drivers\drv_gpio.c</FilePath>
               <FilePath>drivers\drv_gpio.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
+            <File>
+              <FileName>drv_irq.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\drv_irq.c</FilePath>
+            </File>
             <File>
             <File>
               <FileName>drv_usart.c</FileName>
               <FileName>drv_usart.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
@@ -566,47 +504,35 @@
           <GroupName>Filesystem</GroupName>
           <GroupName>Filesystem</GroupName>
           <Files>
           <Files>
             <File>
             <File>
-              <FileName>dfs.c</FileName>
+              <FileName>dfs_posix.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_posix.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>dfs_file.c</FileName>
+              <FileName>dfs_poll.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs_file.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_poll.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>dfs_fs.c</FileName>
+              <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs_fs.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_file.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>dfs_posix.c</FileName>
+              <FileName>dfs.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs_posix.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>poll.c</FileName>
+              <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\poll.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_fs.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>select.c</FileName>
+              <FileName>dfs_select.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\select.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_select.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>devfs.c</FileName>
               <FileName>devfs.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
@@ -615,197 +541,92 @@
           </Files>
           </Files>
         </Group>
         </Group>
         <Group>
         <Group>
-          <GroupName>finsh</GroupName>
+          <GroupName>Finsh</GroupName>
           <Files>
           <Files>
             <File>
             <File>
               <FileName>shell.c</FileName>
               <FileName>shell.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\shell.c</FilePath>
               <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>cmd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\cmd.c</FilePath>
-            </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>msh.c</FileName>
               <FileName>msh.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\msh.c</FilePath>
               <FilePath>..\..\components\finsh\msh.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>msh_file.c</FileName>
               <FileName>msh_file.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\msh_file.c</FilePath>
               <FilePath>..\..\components\finsh\msh_file.c</FilePath>
             </File>
             </File>
           </Files>
           </Files>
-          <Files>
-            <File>
-              <FileName>finsh_compiler.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_compiler.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_error.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_error.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_heap.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_heap.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_init.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_init.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_node.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_node.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_ops.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_ops.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_parser.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_parser.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_var.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_var.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_vm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_vm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_token.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_token.c</FilePath>
-            </File>
-          </Files>
         </Group>
         </Group>
         <Group>
         <Group>
           <GroupName>HC32_StdPeriph</GroupName>
           <GroupName>HC32_StdPeriph</GroupName>
           <Files>
           <Files>
             <File>
             <File>
-              <FileName>system_hc32f4a0.c</FileName>
+              <FileName>hc32f4a0_icg.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\system_hc32f4a0.c</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_icg.c</FilePath>
+            </File>
+            <File>
+              <FileName>hc32f4a0_dma.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_dma.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>hc32f4a0_clk.c</FileName>
               <FileName>hc32f4a0_clk.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_clk.c</FilePath>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_clk.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_dma.c</FileName>
+              <FileName>hc32f4a0_sram.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_dma.c</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_sram.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_efm.c</FileName>
+              <FileName>hc32f4a0_pwc.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_efm.c</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_pwc.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>hc32f4a0_gpio.c</FileName>
               <FileName>hc32f4a0_gpio.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_gpio.c</FilePath>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_gpio.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_icg.c</FileName>
+              <FileName>hc32f4a0_tmr0.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_icg.c</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_tmr0.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>hc32f4a0_interrupts.c</FileName>
               <FileName>hc32f4a0_interrupts.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_interrupts.c</FilePath>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_interrupts.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_pwc.c</FileName>
+              <FileName>hc32f4a0_efm.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_pwc.c</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_efm.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_sram.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_sram.c</FilePath>
+              <FileName>startup_hc32f4a0.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\ARM\startup_hc32f4a0.s</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_utility.c</FileName>
+              <FileName>system_hc32f4a0.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_utility.c</FilePath>
+              <FilePath>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\system_hc32f4a0.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>hc32f4a0_usart.c</FileName>
               <FileName>hc32f4a0_usart.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_usart.c</FilePath>
               <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_usart.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>hc32f4a0_tmr0.c</FileName>
+              <FileName>hc32f4a0_utility.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_tmr0.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>startup_hc32f4a0.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>Libraries\CMSIS\Device\HDSC\HC32F4A0\Source\ARM\startup_hc32f4a0.s</FilePath>
+              <FilePath>Libraries\HC32F4A0_StdPeriph_Driver\src\hc32f4a0_utility.c</FilePath>
             </File>
             </File>
           </Files>
           </Files>
         </Group>
         </Group>
@@ -813,100 +634,69 @@
           <GroupName>Kernel</GroupName>
           <GroupName>Kernel</GroupName>
           <Files>
           <Files>
             <File>
             <File>
-              <FileName>clock.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\src\clock.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>components.c</FileName>
+              <FileName>thread.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\components.c</FilePath>
+              <FilePath>..\..\src\thread.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>device.c</FileName>
+              <FileName>scheduler.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\device.c</FilePath>
+              <FilePath>..\..\src\scheduler.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>idle.c</FileName>
+              <FileName>mem.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\idle.c</FilePath>
+              <FilePath>..\..\src\mem.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>ipc.c</FileName>
               <FileName>ipc.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\src\ipc.c</FilePath>
               <FilePath>..\..\src\ipc.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>irq.c</FileName>
+              <FileName>idle.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\irq.c</FilePath>
+              <FilePath>..\..\src\idle.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>kservice.c</FileName>
+              <FileName>timer.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\kservice.c</FilePath>
+              <FilePath>..\..\src\timer.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>mem.c</FileName>
+              <FileName>irq.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\mem.c</FilePath>
+              <FilePath>..\..\src\irq.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>mempool.c</FileName>
               <FileName>mempool.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\src\mempool.c</FilePath>
               <FilePath>..\..\src\mempool.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>object.c</FileName>
               <FileName>object.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\src\object.c</FilePath>
               <FilePath>..\..\src\object.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>scheduler.c</FileName>
+              <FileName>device.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\scheduler.c</FilePath>
+              <FilePath>..\..\src\device.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>signal.c</FileName>
+              <FileName>components.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\signal.c</FilePath>
+              <FilePath>..\..\src\components.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>thread.c</FileName>
+              <FileName>clock.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\thread.c</FilePath>
+              <FilePath>..\..\src\clock.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>timer.c</FileName>
+              <FileName>kservice.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\src\timer.c</FilePath>
+              <FilePath>..\..\src\kservice.c</FilePath>
             </File>
             </File>
           </Files>
           </Files>
         </Group>
         </Group>
@@ -918,44 +708,66 @@
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\libc\compilers\armlibc\libc.c</FilePath>
               <FilePath>..\..\components\libc\compilers\armlibc\libc.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
+            <File>
+              <FileName>syscalls.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\libc\compilers\armlibc\syscalls.c</FilePath>
+            </File>
             <File>
             <File>
               <FileName>mem_std.c</FileName>
               <FileName>mem_std.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
               <FilePath>..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>stdio.c</FileName>
               <FileName>stdio.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
               <FilePath>..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>stubs.c</FileName>
+              <FileName>unistd.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
+              <FilePath>..\..\components\libc\compilers\common\unistd.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
               <FileName>time.c</FileName>
               <FileName>time.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
               <FilePath>..\..\components\libc\compilers\common\time.c</FilePath>
               <FilePath>..\..\components\libc\compilers\common\time.c</FilePath>
             </File>
             </File>
-          </Files>
-          <Files>
             <File>
             <File>
-              <FileName>unistd.c</FileName>
+              <FileName>stdlib.c</FileName>
               <FileType>1</FileType>
               <FileType>1</FileType>
-              <FilePath>..\..\components\libc\compilers\common\unistd.c</FilePath>
+              <FilePath>..\..\components\libc\compilers\common\stdlib.c</FilePath>
+            </File>
+            <File>
+              <FileName>delay.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\libc\compilers\common\delay.c</FilePath>
             </File>
             </File>
           </Files>
           </Files>
         </Group>
         </Group>
       </Groups>
       </Groups>
     </Target>
     </Target>
   </Targets>
   </Targets>
+
+  <RTE>
+    <apis/>
+    <components/>
+    <files/>
+  </RTE>
+
+  <LayerInfo>
+    <Layers>
+      <Layer>
+        <LayName>&lt;Project Info&gt;</LayName>
+        <LayDesc></LayDesc>
+        <LayUrl></LayUrl>
+        <LayKeys></LayKeys>
+        <LayCat></LayCat>
+        <LayLic></LayLic>
+        <LayTarg>0</LayTarg>
+        <LayPrjMark>1</LayPrjMark>
+      </Layer>
+    </Layers>
+  </LayerInfo>
+
 </Project>
 </Project>