<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>RL-ARM TCPNET  with RTX not working</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/41097/rl-arm-tcpnet-with-rtx-not-working</link><description> 
hi 
i am implementing tcpnet tcp/ip stack with rtx and i have read the
keil instructions. but this code doesnt work and no tcp packet is
sent to the pc. i am confused and dont know what to do to eliminate
the fault. 
here is my code 

 
init task :</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: RL-ARM TCPNET  with RTX not working</title><link>https://community.arm.com/thread/64144?ContentTypeID=1</link><pubDate>Sat, 03 Oct 2015 05:21:59 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:be0a4053-a396-4718-be32-2d2abd419d0b</guid><dc:creator>javad tavakoli</dc:creator><description>&lt;p&gt;&lt;p&gt;
i have edited my code and some of problems seems to be solved but
still not any paket isnt sent to the pc. my edited code is as below.
i transfered the initializing functions from tasks to the starting
lines of main function.&lt;br /&gt;
init task :&lt;/p&gt;

&lt;pre&gt;
__task void tcp_init1 (void)
{
tcp_tick_tsk=os_tsk_create (tcp_tick, 3);
 tcp_main_tsk=os_tsk_create (tcp_main, 1);
tcp_send_rec_tsk=os_tsk_create (tcp_send_rec,2);
 os_mut_init(mutex_TcpNet); /* Init done, terminate this task. */
os_tsk_delete_self ();
}
&lt;/pre&gt;

&lt;p&gt;
task 1 :&lt;/p&gt;

&lt;pre&gt;
__task void tcp_tick (void)
{ os_itv_set (100);
 while (1) {
os_itv_wait (); /* Timer tick every 100 ms */
 timer_tick ();
}
&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
task 2 :&lt;/p&gt;

&lt;pre&gt;
__task void tcp_main (void)
 {
while (1)
{
 os_mut_wait (mutex_TcpNet, 0xffff);
main_TcpNet ();
os_mut_release (mutex_TcpNet);
 os_tsk_pass (); }
}
&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
task 3 :&lt;/p&gt;

&lt;pre&gt;
__task void tcp_send_rec (void)
{ uint8_t *sendbuf;
 U16 k;
 for(;;) {
os_mut_wait (mutex_TcpNet, 0xffff);
switch (tcp_get_state (tcp_soc))
{
    case TCP_STATE_FREE:
    case TCP_STATE_CLOSED:
   case TCP_STATE_LISTEN:
    tcp_connect (tcp_soc, Rem_IP, 1001, 0);
   break;
   case TCP_STATE_CONNECT:
   if (tcp_check_send (tcp_soc) == __TRUE) {
       sendbuf = tcp_get_buf(10);
       //Fill buffer in here
      for(k=0;k&amp;lt;10;k++) sendbuf[k] = 0x41 + k%10;
      tcp_send (tcp_soc, sendbuf, 10);
      }
      break;
} os_mut_release (mutex_TcpNet);
 }
}
&lt;/pre&gt;

&lt;p&gt;
&lt;br /&gt;
main func.&lt;/p&gt;

&lt;pre&gt;
void main (void) {
   init ();
   init_TcpNet ();
   tcp_soc = tcp_get_socket (TCP_TYPE_CLIENT_SERVER | TCP_TYPE_KEEP_ALIVE, 0, 30,tcp_callback);
   tcp_listen (tcp_soc, 1001);
   os_sys_init (tcp_init1);
        while(1)
        {}
}
&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>