OSDN Git Service

dhcpクライアントの追加
authornyatla <nyatla@47198e57-cb75-475f-84c4-a814cd6f29e0>
Sat, 1 Jun 2013 10:17:21 +0000 (10:17 +0000)
committernyatla <nyatla@47198e57-cb75-475f-84c4-a814cd6f29e0>
Sat, 1 Jun 2013 10:17:21 +0000 (10:17 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/mimic/trunk@249 47198e57-cb75-475f-84c4-a814cd6f29e0

12 files changed:
lib/src/net/NyLPC_cNet.c
lib/src/net/NyLPC_cNet.h
lib/src/net/dhcp/NyLPC_cDhcpClient.c [new file with mode: 0644]
lib/src/net/dhcp/NyLPC_cDhcpClient.h [new file with mode: 0644]
lib/src/uip/NyLPC_cUdpSocket.c
lib/src/uip/NyLPC_cUdpSocket.h
lib/src/uip/NyLPC_uip.c
projects/example/sample.net.dhcp/.cproject [new file with mode: 0644]
projects/example/sample.net.dhcp/.project [new file with mode: 0644]
projects/example/sample.net.dhcp/.settings/language.settings.xml [new file with mode: 0644]
projects/example/sample.net.dhcp/.settings/org.eclipse.cdt.managedbuilder.core.prefs [new file with mode: 0644]
projects/example/sample.net.dhcp/src/sketch.c [new file with mode: 0644]

index 6e76963..c12ce09 100644 (file)
@@ -1,4 +1,6 @@
 #include "NyLPC_cNet.h"\r
+#include "dhcp/NyLPC_cDhcpClient.h"\r
+\r
 \r
 const char* NyLPC_cNet_PlatformName;\r
 \r
@@ -27,3 +29,43 @@ void NyLPC_cNet_start(NyLPC_TcNet_t* i_inst,const NyLPC_TcNetConfig_t* i_ref_con
        }\r
        return;\r
 }\r
+\r
+void NyLPC_cNet_stop(NyLPC_TcNet_t* i_inst)\r
+{\r
+       NyLPC_cUipService_stop();\r
+}\r
+\r
+/**\r
+ * NyLPC_TcIPv4Config_tをDHCPで更新します。\r
+ * この関数をコールする時は、サービスは停止中でなければなりません。\r
+ * @param i_cfg\r
+ * 更新するi_cfg構造体。\r
+ * emac,default_mssは設定済である必要があります。他のフィールド値は不定で構いません。\r
+ * 更新されるフィールドは、ip,netmast,default_rootの3つです。\r
+ * @return\r
+ * 更新に成功した場合TRUE\r
+ */\r
+NyLPC_TBool NyLPC_cNet_requestAddrDhcp(NyLPC_TcNet_t* i_net,NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat)\r
+{\r
+       NyLPC_TInt16 i;\r
+       NyLPC_TBool ret;\r
+       NyLPC_TcDhcpClient_t sock;\r
+       NyLPC_TcNetConfig_t c2;\r
+       //工場出荷時設定でリセットしてIPを0に\r
+       NyLPC_cNetConfig_initialize(&c2,NyLPC_TBool_TRUE);\r
+       NyLPC_cNetConfig_setIpAddr(&c2,0,0,0,0);\r
+       NyLPC_cNetConfig_setGateway(&c2,0,0,0,0);\r
+       //netを開始\r
+       NyLPC_cDhcpClient_initialize(&sock);\r
+       NyLPC_cNet_start(i_net,&c2);\r
+       for(i=i_repeat-1;i>=0;i--){\r
+               ret=NyLPC_cDhcpClient_dhcpRequest(&sock,i_cfg);\r
+               if(ret){\r
+                       break;\r
+               }\r
+       }\r
+       NyLPC_cNet_stop(i_net);\r
+       NyLPC_cDhcpClient_finalize(&sock);\r
+       NyLPC_cNetConfig_finalize(&c2);\r
+       return ret;\r
+}\r
index fb9bd34..79dc663 100644 (file)
@@ -30,11 +30,31 @@ void NyLPC_cNet_initialize(NyLPC_TcNet_t* i_inst);
 \r
 #define NyLPC_cNet_finalize(inst)\r
 /**\r
+ * ネットワークサービスを開始します。\r
+ * サービスは停止中でなければなりません。\r
  * 関数は、ネットワークアダプタの値を元にNyLPC_cMiMicEnv_PlatformName変数の値を更新します。\r
  * @param i_ref_config\r
  * Networkコンフィギュレーション変数。このオブジェクトはcNetをstopするまで維持すること。\r
  */\r
 void NyLPC_cNet_start(NyLPC_TcNet_t* i_inst,const NyLPC_TcNetConfig_t* i_ref_config);\r
+/**\r
+ * ネットワークスタックを停止します。\r
+ * サービスは開始中でなければなりません。\r
+ * start関数で開始済である必要があります。\r
+ */\r
+void NyLPC_cNet_stop(NyLPC_TcNet_t* i_inst);\r
+\r
+/**\r
+ * NyLPC_TcIPv4Config_tをDHCPで更新します。\r
+ * この関数をコールする時は、サービスは停止中でなければなりません。\r
+ * @param i_cfg\r
+ * 更新するi_cfg構造体。\r
+ * emac,default_mssは設定済である必要があります。他のフィールド値は不定で構いません。\r
+ * 更新されるフィールドは、ip,netmast,default_rootの3つです。\r
+ * @return\r
+ * 更新に成功した場合TRUE\r
+ */\r
+NyLPC_TBool NyLPC_cNet_requestAddrDhcp(NyLPC_TcNet_t* i_net,NyLPC_TcIPv4Config_t* i_cfg,NyLPC_TInt16 i_repeat);\r
 \r
 #ifdef __cplusplus\r
 }\r
diff --git a/lib/src/net/dhcp/NyLPC_cDhcpClient.c b/lib/src/net/dhcp/NyLPC_cDhcpClient.c
new file mode 100644 (file)
index 0000000..05dcc89
--- /dev/null
@@ -0,0 +1,313 @@
+/*********************************************************************************\r
+ * PROJECT: MiMic\r
+ * --------------------------------------------------------------------------------\r
+ *\r
+ * This file is part of MiMic\r
+ * Copyright (C)2011-2013 Ryo Iizuka\r
+ *\r
+ * MiMic is free software: you can redistribute it and/or modify\r
+ * it under the terms of the GNU Lesser General Public License as published\r
+ * by the Free Software Foundation, either version 3 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public License\r
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
+ *\r
+ * For further information please contact.\r
+ *     http://nyatla.jp/\r
+ *     <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>\r
+ *\r
+ *********************************************************************************/\r
+#include "NyLPC_cDhcpClient.h"\r
+#include <stdio.h>\r
+#include <string.h>\r
+\r
+struct NyLPC_TDhcpHeader\r
+{\r
+       NyLPC_TUInt8 op;\r
+       NyLPC_TUInt8 htype;\r
+       NyLPC_TUInt8 hlen;\r
+       NyLPC_TUInt8 hops;\r
+       NyLPC_TUInt32 xid;\r
+       NyLPC_TUInt16 secs;\r
+       NyLPC_TUInt16 flags;\r
+       NyLPC_TUInt32 ciaddr;\r
+       NyLPC_TUInt32 yiaddr;\r
+       NyLPC_TUInt32 siaddr;\r
+       NyLPC_TUInt32 giaddr;\r
+       struct{\r
+               struct NyLPC_TEthAddr emac;\r
+               NyLPC_TChar padding[10];\r
+       }chaddr;\r
+       NyLPC_TChar sname[64];\r
+       NyLPC_TChar file[128];\r
+}PACK_STRUCT_END;\r
+\r
+#define NyLPC_TDhcpHeader_BOOTREQUEST 1\r
+#define NyLPC_TDhcpHeader_BOOTREPLY   2\r
+\r
+#define DHCP_OPT_ID_ROUTER 3\r
+#define DHCP_OPT_ID_SERVER_ID 54\r
+#define DHCP_OPT_ID_NETMASK 1\r
+#define DHCP_OPT_ID_MESSAGETYPE 53\r
+\r
+\r
+\r
+/**\r
+ * DHCPパケットから32bit値を読み出す。\r
+ * @return\r
+ * ネットワークオーダー\r
+ */\r
+static NyLPC_TBool getUInt32Option(const NyLPC_TUInt8* i_buf,NyLPC_TUInt16 len,NyLPC_TUInt8 i_id,NyLPC_TUInt32* o_v)\r
+{\r
+       const NyLPC_TUInt8* p=i_buf+sizeof(struct NyLPC_TDhcpHeader)+4;\r
+       while(*p!=0x00 && p<(i_buf+len-5)){\r
+               if(*p==i_id){\r
+                       if(*(p+1)==4){\r
+                               *o_v=*((NyLPC_TUInt32*)(p+2));\r
+                               return NyLPC_TBool_TRUE;\r
+                       }\r
+               }else{\r
+                       p+=(*(p+1))+2;\r
+               }\r
+       }\r
+       return NyLPC_TBool_FALSE;\r
+}\r
+static NyLPC_TBool getUInt8Option(const NyLPC_TUInt8* i_buf,NyLPC_TUInt16 len,NyLPC_TUInt8 i_id,NyLPC_TUInt8* o_v)\r
+{\r
+       const NyLPC_TUInt8* p=i_buf+sizeof(struct NyLPC_TDhcpHeader)+4;\r
+       while(*p!=0x00 && p<(i_buf+len-5)){\r
+               if(*p==i_id){\r
+                       if(*(p+1)==1){\r
+                               *o_v=*(p+2);\r
+                               return NyLPC_TBool_TRUE;\r
+                       }\r
+               }else{\r
+                       p+=(*(p+1))+2;\r
+               }\r
+       }\r
+       return NyLPC_TBool_FALSE;\r
+}\r
+static NyLPC_TBool NyLPC_TDhcpHeader_parseDHCPOFFER(const NyLPC_TUInt8* i_buf,NyLPC_TUInt16 i_len,NyLPC_TUInt32 i_xid,NyLPC_TcIPv4Config_t* result)\r
+{\r
+       struct NyLPC_TDhcpHeader* p=(struct NyLPC_TDhcpHeader*)i_buf;\r
+       //XIDのチェック\r
+       if(p->xid!=NyLPC_HTONL(i_xid)){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       //サーバ情報をIPへ保存\r
+       if(!getUInt32Option(i_buf,i_len,DHCP_OPT_ID_SERVER_ID,&result->ip_addr.v)){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       return NyLPC_TBool_TRUE;\r
+}\r
+\r
+static NyLPC_TBool NyLPC_TDhcpHeader_parseDHCPACK(const NyLPC_TUInt8* i_buf,NyLPC_TUInt16 i_len,NyLPC_TUInt32 i_xid,NyLPC_TcIPv4Config_t* result)\r
+{\r
+       struct NyLPC_TDhcpHeader* p=(struct NyLPC_TDhcpHeader*)i_buf;\r
+       //XIDのチェック\r
+       if(p->xid!=NyLPC_HTONL(i_xid)){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       if(!getUInt32Option(i_buf,i_len,DHCP_OPT_ID_ROUTER,&result->dr_addr.v)){\r
+               result->dr_addr=NyLPC_TIPv4Addr_ZERO;\r
+       }\r
+       if(!getUInt32Option(i_buf,i_len,DHCP_OPT_ID_NETMASK,&result->netmask.v)){\r
+               result->netmask=NyLPC_TIPv4Addr_ZERO;\r
+       }\r
+       result->ip_addr.v=p->yiaddr;\r
+       return NyLPC_TBool_TRUE;\r
+}\r
+\r
+static void NyLPC_TDhcpHeader_setDHCPDISCOVER(char* i_buf,NyLPC_TUInt32 i_xid,const struct NyLPC_TEthAddr* emac,NyLPC_TUInt16* o_len)\r
+{\r
+       struct NyLPC_TDhcpHeader* p=(struct NyLPC_TDhcpHeader*)i_buf;\r
+       memset(i_buf,0,sizeof(struct NyLPC_TDhcpHeader));\r
+       p->op=NyLPC_TDhcpHeader_BOOTREQUEST;\r
+       p->htype=1;\r
+       p->hlen=6;\r
+       p->xid=NyLPC_HTONL(i_xid);\r
+       p->chaddr.emac=*emac;\r
+       memcpy(i_buf+sizeof(struct NyLPC_TDhcpHeader),\r
+               "\x63\x82\x53\x63"              //4\r
+               "\x35\x01\x01"                  //3 MESSAGE TYPE\r
+               "\x37\x03\x01\x03\x06"  //5 REQUEST LIST(1,3,6)\r
+               "\x3d\x07\x00\x00\x00\x00\x00\x00\x10" //9 CLIENT INDIFIRE\r
+               "\xff",4+3+5+9+1);\r
+       //emacの上書き\r
+       memcpy((i_buf+sizeof(struct NyLPC_TDhcpHeader)+4+3+5+2),emac->addr,6);\r
+       //送信するパケットの長さ\r
+       *o_len=sizeof(struct NyLPC_TDhcpHeader)+4+3+5+9+1;\r
+       return;\r
+}\r
+static void NyLPC_TDhcpHeader_setDHCPREQUEST(char* i_buf,NyLPC_TUInt32 i_xid,const struct NyLPC_TIPv4Addr* i_sid,const struct NyLPC_TEthAddr* emac,NyLPC_TUInt16* o_len)\r
+{\r
+       struct NyLPC_TDhcpHeader* p=(struct NyLPC_TDhcpHeader*)i_buf;\r
+       memset(i_buf,0,sizeof(struct NyLPC_TDhcpHeader));\r
+       p->op=NyLPC_TDhcpHeader_BOOTREQUEST;\r
+       p->htype=1;\r
+       p->hlen=6;\r
+       p->xid=NyLPC_HTONL(i_xid);\r
+       p->chaddr.emac=*emac;\r
+       memcpy(i_buf+sizeof(struct NyLPC_TDhcpHeader),\r
+               "\x63\x82\x53\x63"              //4\r
+               "\x35\x01\x03"                  //3 MESSAGE TYPE\r
+               "\x37\x03\x01\x03\x06"  //5 REQUEST LIST(1,3,6)\r
+               "\x3d\x07\x00\x00\x00\x00\x00\x00\x10" //9 CLIENT INDIFIRE\r
+               "\x36\x04\x00\x00\x00\x00" // 6 SERVER ID\r
+               "\xff",4+3+5+9+6+1);\r
+       //emacの上書き\r
+       memcpy((i_buf+sizeof(struct NyLPC_TDhcpHeader)+4+3+5+2),emac->addr,6);\r
+       //sidの上書き\r
+       memcpy((i_buf+sizeof(struct NyLPC_TDhcpHeader)+4+3+5+9+2),i_sid,4);\r
+       //送信するパケットの長さ\r
+       *o_len=sizeof(struct NyLPC_TDhcpHeader)+4+3+5+9+6+1;\r
+       return;\r
+}\r
+\r
+\r
+\r
+#define TcDhcpSock_ST_WAIT_OFFER    1\r
+#define TcDhcpSock_ST_WAIT_OFFER_OK 2\r
+#define TcDhcpSock_ST_WAIT_ACK 3\r
+#define TcDhcpSock_ST_WAIT_ACK_OK 4\r
+#define TcDhcpSock_ST_DONE_NG 3\r
+#define TcDhcpSock_ST_DONE_OK 4\r
+\r
+\r
+\r
+\r
+#define DHCP_OPT_ID_MESSAGETYPE_ACK   5\r
+#define DHCP_OPT_ID_MESSAGETYPE_OFFER 2\r
+\r
+static NyLPC_TBool onPacket(NyLPC_TcUdpSocket_t* i_inst,const void* i_buf,const struct NyLPC_TIPv4RxInfo* i_info);\r
+\r
+/**\r
+ * DHCPソケットを作成します。\r
+ */\r
+NyLPC_TBool NyLPC_cDhcpClient_initialize(NyLPC_TcDhcpClient_t* i_inst)\r
+{\r
+       if(!NyLPC_cUdpSocket_initialize(&(i_inst->super),68,NULL,0)){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       NyLPC_cUdpSocket_setOnRxHandler(&(i_inst->super),onPacket);\r
+       return NyLPC_TBool_TRUE;\r
+}\r
+void NyLPC_cDhcpClient_finalize(NyLPC_TcDhcpClient_t* i_inst)\r
+{\r
+       NyLPC_cUdpSocket_finalize(&(i_inst->super));\r
+}\r
+#define TIMEOUT_SOCKAPI_MS 1000\r
+#define TIMEOUT_RECVMSG_MS 3000\r
+\r
+/**\r
+ * ネットワークを更新します。\r
+ * emac/default_mssを設定したネットワークが必要です。\r
+ */\r
+NyLPC_TBool NyLPC_cDhcpClient_dhcpRequest(NyLPC_TcDhcpClient_t* i_sock,NyLPC_TcIPv4Config_t* i_result)\r
+{\r
+       char* buf;\r
+       NyLPC_TcStopwatch_t sw;\r
+       NyLPC_TUInt16 s;\r
+       NyLPC_TInt16 hint=sizeof(struct NyLPC_TDhcpHeader)+128;\r
+       i_sock->txid+=(*(NyLPC_TUInt16*)(&(i_result->eth_mac.addr[2])))+(*(NyLPC_TUInt16*)(&(i_result->eth_mac.addr[4])));\r
+       i_sock->_result=i_result;\r
+       buf=NyLPC_cUdpSocket_allocSendBuf(&i_sock->super,hint,&s,TIMEOUT_SOCKAPI_MS);\r
+       if(buf==NULL || s<hint){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       NyLPC_TDhcpHeader_setDHCPDISCOVER(buf,i_sock->txid,&i_sock->_result->eth_mac,&s);\r
+       i_sock->_status=TcDhcpSock_ST_WAIT_OFFER;\r
+       if(!NyLPC_cUdpSocket_psend(&i_sock->super,&NyLPC_TIPv4Addr_BROADCAST,67,buf,s,TIMEOUT_SOCKAPI_MS)){\r
+               NyLPC_cUdpSocket_releaseSendBuf(&i_sock->super,buf);\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       NyLPC_cStopwatch_initialize(&sw);\r
+       NyLPC_cStopwatch_startExpire(&sw,TIMEOUT_RECVMSG_MS);\r
+       while(i_sock->_status==TcDhcpSock_ST_WAIT_OFFER){\r
+               if(NyLPC_cStopwatch_isExpired(&sw)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+       }\r
+       //レスポンスのチェック\r
+       if(i_sock->_status!=TcDhcpSock_ST_WAIT_OFFER_OK)\r
+       {\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       buf=NyLPC_cUdpSocket_allocSendBuf(&i_sock->super,hint,&s,TIMEOUT_SOCKAPI_MS);\r
+       if(buf==NULL || s<hint){\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       NyLPC_TDhcpHeader_setDHCPREQUEST(buf,i_sock->txid,&(i_sock->_result->ip_addr),&i_sock->_result->eth_mac,&s);\r
+       i_sock->_status=TcDhcpSock_ST_WAIT_ACK;\r
+       if(!NyLPC_cUdpSocket_psend(&i_sock->super,&NyLPC_TIPv4Addr_BROADCAST,67,buf,s,TIMEOUT_SOCKAPI_MS)){\r
+               NyLPC_cUdpSocket_releaseSendBuf(&i_sock->super,buf);\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       NyLPC_cStopwatch_startExpire(&sw,TIMEOUT_RECVMSG_MS);\r
+       while(i_sock->_status==TcDhcpSock_ST_WAIT_ACK){\r
+               if(NyLPC_cStopwatch_isExpired(&sw)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+       }\r
+       //レスポンスのチェック\r
+       if(i_sock->_status!=TcDhcpSock_ST_WAIT_ACK_OK)\r
+       {\r
+               return NyLPC_TBool_FALSE;\r
+       }\r
+       return NyLPC_TBool_TRUE;\r
+}\r
+\r
+\r
+\r
+\r
+\r
+static NyLPC_TBool onPacket(NyLPC_TcUdpSocket_t* i_inst,const void* i_buf,const struct NyLPC_TIPv4RxInfo* i_info)\r
+{\r
+       NyLPC_TUInt8 mt;//message type\r
+       NyLPC_TcDhcpClient_t* inst=(NyLPC_TcDhcpClient_t*)i_inst;\r
+       struct NyLPC_TDhcpHeader* dnsh=(struct NyLPC_TDhcpHeader*)i_buf;\r
+       if(i_info->size<sizeof(struct NyLPC_TDhcpHeader)+1){\r
+               return NyLPC_TBool_FALSE;//DROP\r
+       }\r
+       switch(inst->_status)\r
+       {\r
+       case TcDhcpSock_ST_WAIT_ACK:\r
+               if(dnsh->op!=NyLPC_TDhcpHeader_BOOTREPLY){\r
+                       return NyLPC_TBool_FALSE;\r
+                       }\r
+               if(!getUInt8Option(i_buf,i_info->size,DHCP_OPT_ID_MESSAGETYPE,&mt)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               if(mt!=DHCP_OPT_ID_MESSAGETYPE_ACK){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               if(!NyLPC_TDhcpHeader_parseDHCPACK(i_buf,i_info->size,inst->txid,inst->_result)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               inst->_status=TcDhcpSock_ST_WAIT_ACK_OK;\r
+               break;\r
+       case TcDhcpSock_ST_WAIT_OFFER:\r
+               if(dnsh->op!=NyLPC_TDhcpHeader_BOOTREPLY){\r
+                       return NyLPC_TBool_FALSE;\r
+                       }\r
+               if(!getUInt8Option(i_buf,i_info->size,DHCP_OPT_ID_MESSAGETYPE,&mt)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               if(mt!=DHCP_OPT_ID_MESSAGETYPE_OFFER){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               if(!NyLPC_TDhcpHeader_parseDHCPOFFER(i_buf,i_info->size,inst->txid,inst->_result)){\r
+                       return NyLPC_TBool_FALSE;\r
+               }\r
+               inst->_status=TcDhcpSock_ST_WAIT_OFFER_OK;\r
+               break;\r
+       }\r
+       return NyLPC_TBool_FALSE;\r
+\r
+}\r
diff --git a/lib/src/net/dhcp/NyLPC_cDhcpClient.h b/lib/src/net/dhcp/NyLPC_cDhcpClient.h
new file mode 100644 (file)
index 0000000..abc6645
--- /dev/null
@@ -0,0 +1,65 @@
+/*********************************************************************************\r
+ * PROJECT: MiMic\r
+ * --------------------------------------------------------------------------------\r
+ *\r
+ * This file is part of MiMic\r
+ * Copyright (C)2011-2013 Ryo Iizuka\r
+ *\r
+ * MiMic is free software: you can redistribute it and/or modify\r
+ * it under the terms of the GNU Lesser General Public License as published\r
+ * by the Free Software Foundation, either version 3 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public License\r
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
+ *\r
+ * For further information please contact.\r
+ *     http://nyatla.jp/\r
+ *     <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>\r
+ *\r
+ *********************************************************************************/\r
+#ifndef NYLPC_CDHCPCLIENT_H_\r
+#define NYLPC_CDHCPCLIENT_H_\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif /* __cplusplus */\r
+\r
+#include "NyLPC_net.h"\r
+\r
+typedef struct NyLPC_TcDhcpClient NyLPC_TcDhcpClient_t;\r
+\r
+struct NyLPC_TcDhcpClient{\r
+       NyLPC_TcUdpSocket_t super;\r
+       NyLPC_TcIPv4Config_t* _result;\r
+       NyLPC_TUInt32 txid;\r
+       volatile NyLPC_TUInt16 _status;\r
+};\r
+\r
+\r
+/**\r
+ * DHCPソケットを作成します。\r
+ */\r
+NyLPC_TBool NyLPC_cDhcpClient_initialize(NyLPC_TcDhcpClient_t* i_inst);\r
+\r
+void NyLPC_cDhcpClient_finalize(NyLPC_TcDhcpClient_t* i_inst);\r
+\r
+/**\r
+ * ネットワークを更新します。\r
+ * emac/default_mssを設定したネットワークが必要です。\r
+ */\r
+NyLPC_TBool NyLPC_cDhcpClient_dhcpRequest(NyLPC_TcDhcpClient_t* i_sock,NyLPC_TcIPv4Config_t* i_result);\r
+\r
+\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif /* __cplusplus */\r
+\r
+#endif\r
index 843ac70..765519a 100644 (file)
@@ -70,6 +70,7 @@ NyLPC_TBool NyLPC_cUdpSocket_initialize(NyLPC_TcUdpSocket_t* i_inst,NyLPC_TUInt1
        i_inst->_smutex=NyLPC_cIPv4_getSockMutex(&(srv->_tcpv4));\r
        i_inst->uip_udp_conn.lport=NyLPC_htons(i_port);\r
        i_inst->uip_udp_conn.mcastaddr=NyLPC_TIPv4Addr_ZERO;\r
+       i_inst->_handler=NULL;\r
 \r
        NyLPC_cFifoBuffer_initialize(&(i_inst->rxbuf),i_rbuf,i_rbuf_len);\r
        //管理リストへ登録。\r
@@ -118,7 +119,11 @@ NyLPC_TBool NyLPC_cUdpSocket_parseRx(
        dheader.peer_port=NyLPC_ntohs(o_ipp->payload.udp->srcport);\r
        dheader.ip=o_ipp->header->destipaddr;\r
        dheader.port=NyLPC_ntohs(o_ipp->payload.udp->destport);\r
-\r
+       if(i_inst->_handler!=NULL){\r
+               if(!i_inst->_handler(i_inst,o_ipp->payload.rawbuf+tmp16,&dheader)){\r
+                       return NyLPC_TBool_FALSE;//UDPはReturnパケットなし\r
+               }\r
+       }\r
        //TCPデータオフセット\r
        data_offset=o_ipp->payload.rawbuf+tmp16;\r
 \r
index 5bef553..7741e0d 100644 (file)
@@ -17,7 +17,17 @@ extern "C" {
 #endif /* __cplusplus */\r
 \r
 typedef struct NyLPC_TcUdpSocket NyLPC_TcUdpSocket_t;\r
-\r
+/**\r
+ * 受信情報を格納する構造体\r
+ */\r
+struct NyLPC_TIPv4RxInfo\r
+{\r
+       NyLPC_TUInt16 size;//パケットサイズ\r
+       NyLPC_TUInt16 port;//受信ポート\r
+       NyLPC_TUInt16 peer_port;//PEERポート\r
+       struct NyLPC_TIPv4Addr ip;//受信IP\r
+       struct NyLPC_TIPv4Addr peer_ip;//PEERIP\r
+};\r
 \r
 /**\r
  * Representation of a uIP UDP connection.\r
@@ -30,6 +40,13 @@ struct uip_udp_conn{
 //     NyLPC_TUInt8  ttl;          /** 今はとりあえずデフォルトのみ*/\r
 };\r
 \r
+/**\r
+ * 受信時に非同期にコールされるハンドラ\r
+ * @return\r
+ * TRUEならパケットを受信キューへ追加する。FALSEならパケットを受信キューへ追加しない。\r
+ */\r
+typedef NyLPC_TBool (*NyLPC_TcUdpSocket_onRxHandler)(NyLPC_TcUdpSocket_t* i_inst,const void* i_buf,const struct NyLPC_TIPv4RxInfo* i_info);\r
+\r
 struct NyLPC_TcUdpSocket\r
 {\r
        NyLPC_TcBaseSocket_t _super;\r
@@ -37,19 +54,13 @@ struct NyLPC_TcUdpSocket
        struct uip_udp_conn uip_udp_conn;\r
        NyLPC_TcFifoBuffer_t rxbuf;\r
        NyLPC_TcMutex_t* _smutex;\r
+       NyLPC_TcUdpSocket_onRxHandler _handler;\r
 };\r
 \r
-/**\r
- * 受信情報を格納する構造体\r
- */\r
-struct NyLPC_TIPv4RxInfo\r
-{\r
-       NyLPC_TUInt16 size;//パケットサイズ\r
-       NyLPC_TUInt16 port;//受信ポート\r
-       NyLPC_TUInt16 peer_port;//PEERポート\r
-       struct NyLPC_TIPv4Addr ip;//受信IP\r
-       struct NyLPC_TIPv4Addr peer_ip;//PEERIP\r
-};\r
+\r
+\r
+\r
+\r
 /**\r
  * @param i_rbuf\r
  * 受信バッファアアドレス。サイズは、(最大受信サイズ-4バイト)*キュー数で計算します。\r
@@ -106,6 +117,11 @@ NyLPC_TBool NyLPC_cUdpSocket_psend(NyLPC_TcUdpSocket_t* i_inst,const struct NyLP
  */\r
 NyLPC_TInt32 NyLPC_cUdpSocket_send(NyLPC_TcUdpSocket_t* i_inst,const struct NyLPC_TIPv4Addr* i_addr,NyLPC_TUInt16 i_port,const void* i_buf_ptr,NyLPC_TInt32 i_len,NyLPC_TUInt32 i_wait_in_msec);\r
 \r
+/**\r
+ * 非同期パケットハンドラを設定する。\r
+ */\r
+#define NyLPC_cUdpSocket_setOnRxHandler(i_inst,i_handler) (i_inst)->_handler=i_handler;\r
+\r
 \r
 #ifdef __cplusplus\r
 }\r
index 331aac9..8cf49b0 100644 (file)
@@ -58,7 +58,7 @@
 \r
 const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_ZERO={0x00000000};\r
 const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_ALL ={0xffffffff};\r
-const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_BROADCAST = { 0xfffffff };\r
+const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_BROADCAST = { 0xffffffff };\r
 const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_MULTICAST = NyLPC_TIPv4Addr_pack(224,0,0,0);\r
 const struct NyLPC_TIPv4Addr NyLPC_TIPv4Addr_MULTICAST_MASK = NyLPC_TIPv4Addr_pack(224,0,0,0);\r
 \r
diff --git a/projects/example/sample.net.dhcp/.cproject b/projects/example/sample.net.dhcp/.cproject
new file mode 100644 (file)
index 0000000..36c0f05
--- /dev/null
@@ -0,0 +1,1529 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject>\r
+       <storageModule moduleId="org.eclipse.cdt.core.settings">\r
+               <cconfiguration id="com.crt.advproject.config.exe.debug.358435974">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.exe.debug.358435974" moduleId="org.eclipse.cdt.core.settings" name="Debug">\r
+                               <externalSettings>\r
+                                       <externalSetting languages="com.crt.advproject.compiler.input.40206634"/>\r
+                               </externalSettings>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="axf" artifactName="sample.test" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Debug build" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.exe.debug.358435974" name="Debug" parent="com.crt.advproject.config.exe.debug" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size ${BuildArtifactFileName}; # arm-none-eabi-objdump -h -S ${BuildArtifactFileName} &gt;${BuildArtifactFileBaseName}.lss" preannouncebuildStep="" prebuildStep="">\r
+                                       <folderInfo id="com.crt.advproject.config.exe.debug.358435974." name="/" resourcePath="">\r
+                                               <toolChain id="com.crt.advproject.toolchain.exe.debug.1213183249" name="Code Red MCU Tools" superClass="com.crt.advproject.toolchain.exe.debug">\r
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.debug.1952563323" name="ARM-based MCU (Debug)" superClass="com.crt.advproject.platform.exe.debug"/>\r
+                                                       <builder buildPath="${workspace_loc:/RTOSDemo_RDB1768/Debug}" id="com.crt.advproject.builder.exe.debug.154784167" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="4" superClass="com.crt.advproject.builder.exe.debug"/>\r
+                                                       <tool id="com.crt.advproject.cpp.exe.debug.1468083840" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.debug"/>\r
+                                                       <tool id="com.crt.advproject.gcc.exe.debug.496871390" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.debug">\r
+                                                               <option id="com.crt.advproject.gcc.arch.256789448" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.gcc.thumb.1065817733" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.other.644577272" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections -Wextra" valueType="string"/>\r
+                                                               <option id="gnu.c.compiler.option.preprocessor.nostdinc.242908842" name="Do not search system directories (-nostdinc)" superClass="gnu.c.compiler.option.preprocessor.nostdinc"/>\r
+                                                               <option id="gnu.c.compiler.option.preprocessor.preprocess.2055050196" name="Preprocess only (-E)" superClass="gnu.c.compiler.option.preprocessor.preprocess"/>\r
+                                                               <option id="com.crt.advproject.gcc.exe.debug.option.optimization.level.352418875" name="Optimization Level" superClass="com.crt.advproject.gcc.exe.debug.option.optimization.level"/>\r
+                                                               <option id="gnu.c.compiler.option.optimization.flags.1797615292" name="Other optimization flags" superClass="gnu.c.compiler.option.optimization.flags"/>\r
+                                                               <option id="com.crt.advproject.gcc.exe.debug.option.debugging.level.44032959" name="Debug Level" superClass="com.crt.advproject.gcc.exe.debug.option.debugging.level"/>\r
+                                                               <option id="gnu.c.compiler.option.debugging.other.1827557228" name="Other debugging flags" superClass="gnu.c.compiler.option.debugging.other"/>\r
+                                                               <option id="gnu.c.compiler.option.debugging.gprof.297254854" name="Generate gprof information (-pg)" superClass="gnu.c.compiler.option.debugging.gprof"/>\r
+                                                               <option id="gnu.c.compiler.option.debugging.prof.502744652" name="Generate prof information (-p)" superClass="gnu.c.compiler.option.debugging.prof"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.syntax.302195319" name="Check syntax only (-fsyntax-only)" superClass="gnu.c.compiler.option.warnings.syntax"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.pedantic.1413123641" name="Pedantic (-pedantic)" superClass="gnu.c.compiler.option.warnings.pedantic"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.pedantic.error.23507721" name="Pedantic warnings as errors (-pedantic-errors)" superClass="gnu.c.compiler.option.warnings.pedantic.error"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.nowarn.1931884804" name="Inhibit all warnings (-w)" superClass="gnu.c.compiler.option.warnings.nowarn"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.allwarn.166624136" name="All warnings (-Wall)" superClass="gnu.c.compiler.option.warnings.allwarn"/>\r
+                                                               <option id="gnu.c.compiler.option.warnings.toerrors.915552336" name="Warnings as errors (-Werror)" superClass="gnu.c.compiler.option.warnings.toerrors"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.verbose.1204107040" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose"/>\r
+                                                               <option id="gnu.c.compiler.option.misc.ansi.581770468" name="Support ANSI programs (-ansi)" superClass="gnu.c.compiler.option.misc.ansi"/>\r
+                                                               <option id="com.crt.advproject.gcc.thumbinterwork.1368180127" name="Enable Thumb interworking" superClass="com.crt.advproject.gcc.thumbinterwork"/>\r
+                                                               <option id="com.crt.advproject.gcc.hdrlib.721600979" name="Use headers for C library" superClass="com.crt.advproject.gcc.hdrlib"/>\r
+                                                               <option id="com.crt.advproject.gcc.config.1169701529" name="%crt.mcu.configname" superClass="com.crt.advproject.gcc.config"/>\r
+                                                               <option id="com.crt.advproject.gcc.store.95863954" name="%crt.mcu.storename" superClass="com.crt.advproject.gcc.store"/>\r
+                                                               <option id="gnu.c.compiler.option.include.paths.1691538724" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/NyLPCLib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/NyLPCLib/src/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib/src}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib/src/FreeRTOS/portable/GCC/ARM_CM3}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib/src/FreeRTOS/include}&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.c.compiler.option.preprocessor.def.symbols.1595011465" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="__REDLIB__"/>\r
+                                                                       <listOptionValue builtIn="false" value="DEBUG"/>\r
+                                                                       <listOptionValue builtIn="false" value="__CODE_RED"/>\r
+                                                               </option>\r
+                                                               <inputType id="com.crt.advproject.compiler.input.40206634" superClass="com.crt.advproject.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.crt.advproject.gas.exe.debug.152194393" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.debug">\r
+                                                               <option id="com.crt.advproject.gas.arch.856827611" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.gas.thumb.1906562556" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.both.asm.option.flags.crt.638939077" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DDEBUG -D__CODE_RED -D__REDLIB__ " valueType="string"/>\r
+                                                               <option id="gnu.both.asm.option.include.paths.1834182327" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/NyLPCLib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib}&quot;"/>\r
+                                                               </option>\r
+                                                               <inputType id="com.crt.advproject.assembler.input.1954791986" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1192114959" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.crt.advproject.link.cpp.exe.debug.696640668" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.debug"/>\r
+                                                       <tool id="com.crt.advproject.link.exe.debug.1514106711" name="MCU Linker" superClass="com.crt.advproject.link.exe.debug">\r
+                                                               <option id="com.crt.advproject.link.arch.420484637" name="Architecture" superClass="com.crt.advproject.link.arch" value="com.crt.advproject.link.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.link.thumb.1827721661" name="Thumb mode" superClass="com.crt.advproject.link.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="com.crt.advproject.link.script.285435470" name="Linker script" superClass="com.crt.advproject.link.script" value="sample_basic_Debug.ld" valueType="string"/>\r
+                                                               <option id="com.crt.advproject.link.manage.913993351" name="Manage linker script" superClass="com.crt.advproject.link.manage" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.nostdlibs.1027293252" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.other.762506621" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="--gc-sections"/>\r
+                                                                       <listOptionValue builtIn="false" value="-Map=${BuildArtifactFileBaseName}.map"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.c.link.option.nostart.1381612580" name="Do not use standard start files (-nostartfiles)" superClass="gnu.c.link.option.nostart"/>\r
+                                                               <option id="gnu.c.link.option.nodeflibs.638645680" name="Do not use default libraries (-nodefaultlibs)" superClass="gnu.c.link.option.nodeflibs"/>\r
+                                                               <option id="gnu.c.link.option.strip.195880545" name="Omit all symbol information (-s)" superClass="gnu.c.link.option.strip"/>\r
+                                                               <option id="gnu.c.link.option.noshared.2075727134" name="No shared libraries (-static)" superClass="gnu.c.link.option.noshared"/>\r
+                                                               <option id="gnu.c.link.option.libs.103012550" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="NyLPCLib"/>\r
+                                                                       <listOptionValue builtIn="false" value="FreeRTOSLib"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.c.link.option.ldflags.1447780175" name="Linker flags" superClass="gnu.c.link.option.ldflags"/>\r
+                                                               <option id="gnu.c.link.option.userobjs.1395709820" name="Other objects" superClass="gnu.c.link.option.userobjs"/>\r
+                                                               <option id="gnu.c.link.option.shared.2052162401" name="Shared (-shared)" superClass="gnu.c.link.option.shared"/>\r
+                                                               <option id="gnu.c.link.option.soname.1795621625" name="Shared object name (-Wl,-soname=)" superClass="gnu.c.link.option.soname"/>\r
+                                                               <option id="gnu.c.link.option.implname.939745637" name="Import Library name (-Wl,--out-implib=)" superClass="gnu.c.link.option.implname"/>\r
+                                                               <option id="gnu.c.link.option.defname.905674991" name="DEF file name (-Wl,--output-def=)" superClass="gnu.c.link.option.defname"/>\r
+                                                               <option id="com.crt.advproject.link.gcc.hdrlib.284228451" name="Use C library" superClass="com.crt.advproject.link.gcc.hdrlib"/>\r
+                                                               <option id="com.crt.advproject.link.config.2135715637" name="%crt.mcu.configname" superClass="com.crt.advproject.link.config"/>\r
+                                                               <option id="com.crt.advproject.link.store.1260276895" name="%crt.mcu.storename" superClass="com.crt.advproject.link.store"/>\r
+                                                               <option id="gnu.c.link.option.paths.2054012915" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/NyLPCLib/Debug}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/FreeRTOSLib/Debug}&quot;"/>\r
+                                                               </option>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.150124411" superClass="cdt.managedbuild.tool.gnu.c.linker.input">\r
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
+                                                               </inputType>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <sourceEntries>\r
+                                               <entry excluding="src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings">\r
+                               <externalSettings containerId="FreeRTOSLib;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">\r
+                                       <externalSetting>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/FreeRTOSLib"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/FreeRTOSLib/Debug"/>\r
+                                       </externalSetting>\r
+                               </externalSettings>\r
+                               <externalSettings containerId="NyLPCLib;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">\r
+                                       <externalSetting>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/NyLPCLib"/>\r
+                                               <entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/NyLPCLib/Debug"/>\r
+                                               <entry flags="RESOLVED" kind="libraryFile" name="NyLPCLib"/>\r
+                                       </externalSetting>\r
+                               </externalSettings>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+                       <storageModule moduleId="scannerConfiguration">\r
+                               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
+                               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="makefileGenerator">\r
+                                               <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gas.exe.debug.152194393;com.crt.advproject.assembler.input.1954791986">\r
+                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="makefileGenerator">\r
+                                                       <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                               </scannerConfigBuildInfo>\r
+                               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gcc.exe.debug.496871390;com.crt.advproject.compiler.input.40206634">\r
+                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="makefileGenerator">\r
+                                                       <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                               </scannerConfigBuildInfo>\r
+                       </storageModule>\r
+               </cconfiguration>\r
+               <cconfiguration id="com.crt.advproject.config.exe.release.429003282">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.crt.advproject.config.exe.release.429003282" moduleId="org.eclipse.cdt.core.settings" name="Release">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="axf" artifactName="sample.test" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="Release build" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="com.crt.advproject.config.exe.release.429003282" name="Release" parent="com.crt.advproject.config.exe.release" postannouncebuildStep="Performing post-build steps" postbuildStep="arm-none-eabi-size ${BuildArtifactFileName}; # arm-none-eabi-objdump -h -S ${BuildArtifactFileName} &gt;${BuildArtifactFileBaseName}.lss">\r
+                                       <folderInfo id="com.crt.advproject.config.exe.release.429003282." name="/" resourcePath="">\r
+                                               <toolChain id="com.crt.advproject.toolchain.exe.release.880950854" name="Code Red MCU Tools" superClass="com.crt.advproject.toolchain.exe.release">\r
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF" id="com.crt.advproject.platform.exe.release.1422592318" name="ARM-based MCU (Release)" superClass="com.crt.advproject.platform.exe.release"/>\r
+                                                       <builder buildPath="${workspace_loc:/RTOSDemo_RDB1768/Release}" id="com.crt.advproject.builder.exe.release.2027495818" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="com.crt.advproject.builder.exe.release"/>\r
+                                                       <tool id="com.crt.advproject.cpp.exe.release.1199012411" name="MCU C++ Compiler" superClass="com.crt.advproject.cpp.exe.release"/>\r
+                                                       <tool id="com.crt.advproject.gcc.exe.release.660269152" name="MCU C Compiler" superClass="com.crt.advproject.gcc.exe.release">\r
+                                                               <option id="com.crt.advproject.gcc.arch.1587182028" name="Architecture" superClass="com.crt.advproject.gcc.arch" value="com.crt.advproject.gcc.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.gcc.thumb.1829358809" name="Thumb mode" superClass="com.crt.advproject.gcc.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.compiler.option.preprocessor.def.symbols.1242089509" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="NDEBUG"/>\r
+                                                                       <listOptionValue builtIn="false" value="__CODE_RED"/>\r
+                                                                       <listOptionValue builtIn="false" value="__REDLIB__"/>\r
+                                                               </option>\r
+                                                               <option id="gnu.c.compiler.option.misc.other.1084357971" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -fmessage-length=0 -fno-builtin -ffunction-sections" valueType="string"/>\r
+                                                               <inputType id="com.crt.advproject.compiler.input.1760064385" superClass="com.crt.advproject.compiler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.crt.advproject.gas.exe.release.340210131" name="MCU Assembler" superClass="com.crt.advproject.gas.exe.release">\r
+                                                               <option id="com.crt.advproject.gas.arch.1089759047" name="Architecture" superClass="com.crt.advproject.gas.arch" value="com.crt.advproject.gas.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.gas.thumb.147071109" name="Thumb mode" superClass="com.crt.advproject.gas.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.both.asm.option.flags.crt.2019607838" name="Assembler flags" superClass="gnu.both.asm.option.flags.crt" value="-c -x assembler-with-cpp -DNDEBUG -D__CODE_RED -D__REDLIB__ " valueType="string"/>\r
+                                                               <inputType id="com.crt.advproject.assembler.input.1748919550" name="Additional Assembly Source Files" superClass="com.crt.advproject.assembler.input"/>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.983037209" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.crt.advproject.link.cpp.exe.release.116216997" name="MCU C++ Linker" superClass="com.crt.advproject.link.cpp.exe.release"/>\r
+                                                       <tool id="com.crt.advproject.link.exe.release.1686532392" name="MCU Linker" superClass="com.crt.advproject.link.exe.release">\r
+                                                               <option id="com.crt.advproject.link.arch.1717419953" name="Architecture" superClass="com.crt.advproject.link.arch" value="com.crt.advproject.link.target.cm3" valueType="enumerated"/>\r
+                                                               <option id="com.crt.advproject.link.thumb.1483839948" name="Thumb mode" superClass="com.crt.advproject.link.thumb" value="true" valueType="boolean"/>\r
+                                                               <option id="com.crt.advproject.link.script.1512636887" name="Linker script" superClass="com.crt.advproject.link.script" value="&quot;rtosdemo_rdb1768_Release.ld&quot;" valueType="string"/>\r
+                                                               <option id="com.crt.advproject.link.manage.1635592390" name="Manage linker script" superClass="com.crt.advproject.link.manage" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.nostdlibs.464135975" name="No startup or default libs (-nostdlib)" superClass="gnu.c.link.option.nostdlibs" value="true" valueType="boolean"/>\r
+                                                               <option id="gnu.c.link.option.other.1143120921" name="Other options (-Xlinker [option])" superClass="gnu.c.link.option.other" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="--gc-sections"/>\r
+                                                                       <listOptionValue builtIn="false" value="-Map=${BuildArtifactFileBaseName}.map"/>\r
+                                                               </option>\r
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1457924481" superClass="cdt.managedbuild.tool.gnu.c.linker.input">\r
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>\r
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>\r
+                                                               </inputType>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
+                       <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>\r
+                       <storageModule moduleId="scannerConfiguration">\r
+                               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
+                               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="false" filePath=""/>\r
+                                               <parser enabled="false"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                               <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="makefileGenerator">\r
+                                               <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                       <buildOutputProvider>\r
+                                               <openAction enabled="true" filePath=""/>\r
+                                               <parser enabled="true"/>\r
+                                       </buildOutputProvider>\r
+                                       <scannerInfoProvider id="specsFile">\r
+                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                               <parser enabled="true"/>\r
+                                       </scannerInfoProvider>\r
+                               </profile>\r
+                               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gas.exe.debug.152194393;com.crt.advproject.assembler.input.1954791986">\r
+                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="makefileGenerator">\r
+                                                       <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                               </scannerConfigBuildInfo>\r
+                               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gcc.exe.debug.496871390;com.crt.advproject.compiler.input.40206634">\r
+                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file} " command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="false" filePath=""/>\r
+                                                       <parser enabled="false"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="makefileGenerator">\r
+                                                       <runAction arguments="-E -P -v -dD" command="" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                                               <buildOutputProvider>\r
+                                                       <openAction enabled="true" filePath=""/>\r
+                                                       <parser enabled="true"/>\r
+                                               </buildOutputProvider>\r
+                                               <scannerInfoProvider id="specsFile">\r
+                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>\r
+                                                       <parser enabled="true"/>\r
+                                               </scannerInfoProvider>\r
+                                       </profile>\r
+                               </scannerConfigBuildInfo>\r
+                       </storageModule>\r
+               </cconfiguration>\r
+       </storageModule>\r
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+               <project id="RTOSDemo_RDB1768.com.crt.advproject.projecttype.exe.469488889" name="Executable" projectType="com.crt.advproject.projecttype.exe"/>\r
+       </storageModule>\r
+       <storageModule moduleId="com.crt.config">\r
+               <projectStorage>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#13;\r
+&lt;TargetConfig&gt;&#13;\r
+&lt;Properties property_0="" property_3="NXP" property_4="LPC1768" property_count="5" version="1"/&gt;&#13;\r
+&lt;infoList vendor="NXP"&gt;&lt;info chip="LPC1768" match_id="0x00013f37,0x26013F37,0x26113F37" name="LPC1768" package="lpc17_lqfp100.xml"&gt;&lt;chip&gt;&lt;name&gt;LPC1768&lt;/name&gt;&#13;\r
+&lt;family&gt;LPC17xx&lt;/family&gt;&#13;\r
+&lt;vendor&gt;NXP (formerly Philips)&lt;/vendor&gt;&#13;\r
+&lt;reset board="None" core="Real" sys="Real"/&gt;&#13;\r
+&lt;clock changeable="TRUE" freq="20MHz" is_accurate="TRUE"/&gt;&#13;\r
+&lt;memory can_program="true" id="Flash" is_ro="true" type="Flash"/&gt;&#13;\r
+&lt;memory id="RAM" type="RAM"/&gt;&#13;\r
+&lt;memory id="Periph" is_volatile="true" type="Peripheral"/&gt;&#13;\r
+&lt;memoryInstance derived_from="Flash" id="MFlash512" location="0x0" size="0x80000"/&gt;&#13;\r
+&lt;memoryInstance derived_from="RAM" id="RamLoc32" location="0x10000000" size="0x8000"/&gt;&#13;\r
+&lt;memoryInstance derived_from="RAM" id="RamAHB32" location="0x2007c000" size="0x8000"/&gt;&#13;\r
+&lt;prog_flash blocksz="0x1000" location="0" maxprgbuff="0x1000" progwithcode="TRUE" size="0x10000"/&gt;&#13;\r
+&lt;prog_flash blocksz="0x8000" location="0x10000" maxprgbuff="0x1000" progwithcode="TRUE" size="0x70000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_NVIC" id="NVIC" location="0xE000E000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM0&amp;amp;0x1" id="TIMER0" location="0x40004000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM1&amp;amp;0x1" id="TIMER1" location="0x40008000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM2&amp;amp;0x1" id="TIMER2" location="0x40090000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM3&amp;amp;0x1" id="TIMER3" location="0x40094000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_RIT" enable="SYSCTL.PCONP.PCRIT&amp;amp;0x1" id="RIT" location="0x400B0000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO0" location="0x2009C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO1" location="0x2009C020"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO2" location="0x2009C040"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO3" location="0x2009C060"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO4" location="0x2009C080"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_I2S" enable="SYSCTL.PCONP&amp;amp;0x08000000" id="I2S" location="0x400A8000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_SYSCTL" id="SYSCTL" location="0x400FC000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_DAC" enable="PCB.PINSEL1.P0_26&amp;amp;0x2=2" id="DAC" location="0x4008C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART0&amp;amp;0x1" id="UART0" location="0x4000C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17xx_UART_MODEM" enable="SYSCTL.PCONP.PCUART1&amp;amp;0x1" id="UART1" location="0x40010000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART2&amp;amp;0x1" id="UART2" location="0x40098000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART3&amp;amp;0x1" id="UART3" location="0x4009C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="SPI" enable="SYSCTL.PCONP.PCSPI&amp;amp;0x1" id="SPI" location="0x40020000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_SSP" enable="SYSCTL.PCONP.PCSSP0&amp;amp;0x1" id="SSP0" location="0x40088000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_SSP" enable="SYSCTL.PCONP.PCSSP1&amp;amp;0x1" id="SSP1" location="0x40030000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_ADC" enable="SYSCTL.PCONP.PCAD&amp;amp;0x1" id="ADC" location="0x40034000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_USBINTST" enable="USBCLKCTL.USBClkCtrl&amp;amp;0x12" id="USBINTSTAT" location="0x400fc1c0"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_USB_CLK_CTL" id="USBCLKCTL" location="0x5000cff4"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_USBDEV" enable="USBCLKCTL.USBClkSt&amp;amp;0x12=0x12" id="USBDEV" location="0x5000C200"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_PWM" enable="SYSCTL.PCONP.PWM1&amp;amp;0x1" id="PWM" location="0x40018000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C0&amp;amp;0x1" id="I2C0" location="0x4001C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C1&amp;amp;0x1" id="I2C1" location="0x4005C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C2&amp;amp;0x1" id="I2C2" location="0x400A0000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_DMA" enable="SYSCTL.PCONP.PCGPDMA&amp;amp;0x1" id="DMA" location="0x50004000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_ENET" enable="SYSCTL.PCONP.PCENET&amp;amp;0x1" id="ENET" location="0x50000000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="CM3_DCR" id="DCR" location="0xE000EDF0"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_PCB" id="PCB" location="0x4002c000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_QEI" enable="SYSCTL.PCONP.PCQEI&amp;amp;0x1" id="QEI" location="0x400bc000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_USBHOST" enable="USBCLKCTL.USBClkSt&amp;amp;0x11=0x11" id="USBHOST" location="0x5000C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_USBOTG" enable="USBCLKCTL.USBClkSt&amp;amp;0x1c=0x1c" id="USBOTG" location="0x5000C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_RTC" enable="SYSCTL.PCONP.PCRTC&amp;amp;0x1" id="RTC" location="0x40024000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="MPU" id="MPU" location="0xE000ED90"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC1x_WDT" id="WDT" location="0x40000000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_FLASHCFG" id="FLASHACCEL" location="0x400FC000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="GPIO_INT" id="GPIOINTMAP" location="0x40028080"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_CANAFR" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1|SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANAFR" location="0x4003C000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_CANCEN" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1|SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANCEN" location="0x40040000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_CANWAKESLEEP" id="CANWAKESLEEP" location="0x400FC110"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_CANCON" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1" id="CANCON1" location="0x40044000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_CANCON" enable="SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANCON2" location="0x40048000"/&gt;&#13;\r
+&lt;peripheralInstance derived_from="LPC17_MCPWM" enable="SYSCTL.PCONP.PCMCPWM&amp;amp;0x1" id="MCPWM" location="0x400B8000"/&gt;&#13;\r
+&lt;/chip&gt;&#13;\r
+&lt;processor&gt;&lt;name gcc_name="cortex-m3"&gt;Cortex-M3&lt;/name&gt;&#13;\r
+&lt;family&gt;Cortex-M&lt;/family&gt;&#13;\r
+&lt;/processor&gt;&#13;\r
+&lt;link href="nxp_lpcxxxx_peripheral.xme" show="embed" type="simple"/&gt;&#13;\r
+&lt;/info&gt;&#13;\r
+&lt;/infoList&gt;&#13;\r
+&lt;/TargetConfig&gt;</projectStorage>\r
+       </storageModule>\r
+       <storageModule moduleId="refreshScope"/>\r
+       <storageModule moduleId="scannerConfiguration">\r
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>\r
+               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="false" filePath=""/>\r
+                               <parser enabled="false"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="false" filePath=""/>\r
+                               <parser enabled="false"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="false" filePath=""/>\r
+                               <parser enabled="false"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                               <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="makefileGenerator">\r
+                               <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                       <buildOutputProvider>\r
+                               <openAction enabled="true" filePath=""/>\r
+                               <parser enabled="true"/>\r
+                       </buildOutputProvider>\r
+                       <scannerInfoProvider id="specsFile">\r
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                               <parser enabled="true"/>\r
+                       </scannerInfoProvider>\r
+               </profile>\r
+               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.release.429003282;com.crt.advproject.config.exe.release.429003282.;com.crt.advproject.gcc.exe.release.660269152;com.crt.advproject.compiler.input.1760064385">\r
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="makefileGenerator">\r
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+               </scannerConfigBuildInfo>\r
+               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gas.exe.debug.152194393;com.crt.advproject.assembler.input.1954791986">\r
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="makefileGenerator">\r
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+               </scannerConfigBuildInfo>\r
+               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.debug.358435974;com.crt.advproject.config.exe.debug.358435974.;com.crt.advproject.gcc.exe.debug.496871390;com.crt.advproject.compiler.input.40206634">\r
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="makefileGenerator">\r
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+               </scannerConfigBuildInfo>\r
+               <scannerConfigBuildInfo instanceId="com.crt.advproject.config.exe.release.429003282;com.crt.advproject.config.exe.release.429003282.;com.crt.advproject.gas.exe.release.340210131;com.crt.advproject.assembler.input.1748919550">\r
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.crt.advproject.GCCManagedMakePerProjectProfile"/>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-c++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="com.crt.advproject.GASManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="false" filePath=""/>\r
+                                       <parser enabled="false"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="com.crt.advproject.specsFile">\r
+                                       <runAction arguments="-x assembler-with-cpp -E -P -v -dD ${plugin_state_location}/${specs_file}" command="arm-none-eabi-gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="makefileGenerator">\r
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">\r
+                               <buildOutputProvider>\r
+                                       <openAction enabled="true" filePath=""/>\r
+                                       <parser enabled="true"/>\r
+                               </buildOutputProvider>\r
+                               <scannerInfoProvider id="specsFile">\r
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>\r
+                                       <parser enabled="true"/>\r
+                               </scannerInfoProvider>\r
+                       </profile>\r
+               </scannerConfigBuildInfo>\r
+       </storageModule>\r
+       <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>\r
+</cproject>\r
diff --git a/projects/example/sample.net.dhcp/.project b/projects/example/sample.net.dhcp/.project
new file mode 100644 (file)
index 0000000..3d48375
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>sample.net.dhcp</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
+                       <triggers>clean,full,incremental,</triggers>\r
+                       <arguments>\r
+                               <dictionary>\r
+                                       <key>?name?</key>\r
+                                       <value></value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.append_environment</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.autoBuildTarget</key>\r
+                                       <value>all</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildArguments</key>\r
+                                       <value>-j4</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildCommand</key>\r
+                                       <value>make</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildLocation</key>\r
+                                       <value>${workspace_loc:/RTOSDemo_RDB1768/Debug}</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>\r
+                                       <value>clean</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.contents</key>\r
+                                       <value>org.eclipse.cdt.make.core.activeConfigSettings</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableAutoBuild</key>\r
+                                       <value>false</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableCleanBuild</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableFullBuild</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.fullBuildTarget</key>\r
+                                       <value>all</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.stopOnError</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
+               <nature>org.eclipse.cdt.core.cnature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/projects/example/sample.net.dhcp/.settings/language.settings.xml b/projects/example/sample.net.dhcp/.settings/language.settings.xml
new file mode 100644 (file)
index 0000000..05c3475
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<project>\r
+       <configuration id="com.crt.advproject.config.exe.debug.358435974" name="Debug">\r
+               <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
+                       <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
+                       <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
+               </extension>\r
+       </configuration>\r
+       <configuration id="com.crt.advproject.config.exe.release.429003282" name="Release">\r
+               <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
+                       <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
+                       <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
+               </extension>\r
+       </configuration>\r
+</project>\r
diff --git a/projects/example/sample.net.dhcp/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/projects/example/sample.net.dhcp/.settings/org.eclipse.cdt.managedbuilder.core.prefs
new file mode 100644 (file)
index 0000000..3593e1d
--- /dev/null
@@ -0,0 +1,12 @@
+#Wed Aug 03 18:12:56 JST 2011\r
+eclipse.preferences.version=1\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/CPATH/delimiter=;\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/CPATH/operation=remove\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/C_INCLUDE_PATH/delimiter=;\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/C_INCLUDE_PATH/operation=remove\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/append=true\r
+environment/buildEnvironmentInclude/com.crt.advproject.config.exe.debug.358435974/appendContributed=true\r
+environment/buildEnvironmentLibrary/com.crt.advproject.config.exe.debug.358435974/LIBRARY_PATH/delimiter=;\r
+environment/buildEnvironmentLibrary/com.crt.advproject.config.exe.debug.358435974/LIBRARY_PATH/operation=remove\r
+environment/buildEnvironmentLibrary/com.crt.advproject.config.exe.debug.358435974/append=true\r
+environment/buildEnvironmentLibrary/com.crt.advproject.config.exe.debug.358435974/appendContributed=true\r
diff --git a/projects/example/sample.net.dhcp/src/sketch.c b/projects/example/sample.net.dhcp/src/sketch.c
new file mode 100644 (file)
index 0000000..d4d1522
--- /dev/null
@@ -0,0 +1,36 @@
+/**\r
+ * httpdサーバのサンプルです。\r
+ * ROMにある定義済みファイルの入出力と、クロスドメインRESTが確認できます。\r
+ */\r
+//#define SKETCH_STACK_SIZE\r
+#include "boot/sketch.h"\r
+\r
+#include "NyLPC_net.h"\r
+#include "NyLPC_utils.h"\r
+#include <stdio.h>\r
+#include <string.h>\r
+\r
+NyLPC_TcNet_t net;\r
+\r
+void setup(void)\r
+{\r
+       //uipサービス初期化。いろいろ利用可能に。\r
+       NyLPC_cNet_initialize(&net);\r
+}\r
+\r
+void loop(void)\r
+{\r
+       NyLPC_TcNetConfig_t c2;\r
+       //デフォルト設定の呼び出し\r
+       NyLPC_cNetConfig_initialize(&c2,NyLPC_TBool_TRUE);\r
+       //DHCP\r
+       NyLPC_cNet_requestAddrDhcp(&net,&(c2.interface_setting.ethernet),3);\r
+       NyLPC_cNet_start(&net,&c2);\r
+       //受信待ち\r
+       for(;;){\r
+       }\r
+}\r
+\r
+\r
+\r
+\r