<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>ColdFire/68K Microcontrollers and Processors中的主题 Re: how to continuously try to auto connect?</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174945#M6729</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply but i got still one error.&lt;/P&gt;&lt;P&gt;I made a loop. Then he says about 18 times "cold not find target, reset". Then he gives an error that there is no memory left. I was searching and i found he did an alloc. So he makes a reservation for some memory 18 times. I think i have to do something with free my memory. I found something like TCB_FREE. I tried somethings but i still get acces error. Does anyone can help me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanx&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by jonasb on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-04-24&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;09:21 AM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Apr 2009 15:04:11 GMT</pubDate>
    <dc:creator>jonasb</dc:creator>
    <dc:date>2009-04-24T15:04:11Z</dc:date>
    <item>
      <title>how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174940#M6724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hey I'm using the coldfire-lite tcp client. The board that I'm using is m52233DEMO.I can connect to the server this is working fine. But I wan't to know how to program my board to try continuously make a connection even if the server is not running.&amp;nbsp; But when I reset or shutdown the server or the board the board has to reconnect but that isn't working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;some information about the server: The server auto drops the connection when there is no reply of board the server knows this because the board is sending a keep_alive to the server. When there is no keep_alive send the server wait's for about 5s and then disconnect the board.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;this is a part of code of my tcp_init&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int freescale_tcp_init()&lt;BR /&gt;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; const char* loginname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; semaphore &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flash_ffs_lockout &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_communication_socket &amp;nbsp;&amp;nbsp;&amp;nbsp; = INVALID_SOCKET;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Init message queue for MINI_TCP socket interface&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msring_init(&amp;amp;emg_tcp_msring, emg_tcp_msring_buf, sizeof(emg_tcp_msring_buf) / sizeof(emg_tcp_msring_buf[0]));&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Init a socket structure with our Port Number&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_sin.sin_addr.s_addr &amp;nbsp;&amp;nbsp;&amp;nbsp; = (SERVER_IP);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_sin.sin_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; = (PORT_NUMBER);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_communication_socket&amp;nbsp;&amp;nbsp;&amp;nbsp; = m_socket();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf( "\nConnecting to target..." );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //m_ioctl(emg_tcp_communication_socket, SO_NONBLOCK, NULL); &amp;nbsp;&amp;nbsp; //make socket non blocking&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e = m_connect(emg_tcp_communication_socket, &amp;amp;emg_tcp_sin, freescale_tcp_cmdcb );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if ( e &amp;gt; 0 )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;send_alive = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if( e == ECONNREFUSED )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; printf( " - Cold Not Find Target, reset" );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; freescale_tcp_init();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_communication_socket &amp;nbsp;&amp;nbsp;&amp;nbsp; = INVALID_SOCKET;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_close (emg_tcp_communication_socket);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_close (emg_tcp_server_socket);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; printf(" - error %d starting listen on emg TCP server\n", e);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; freescale_tcp_init();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_communication_socket &amp;nbsp;&amp;nbsp;&amp;nbsp; = INVALID_SOCKET;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_close(emg_tcp_communication_socket);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; m_close(emg_tcp_server_socket);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; m_ioctl(emg_tcp_communication_socket, SO_NONBLOCK, NULL); //make socket non blocking&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (e == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; emg_tcp_server_socket = emg_tcp_communication_socket;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Apr 2009 16:21:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174940#M6724</guid>
      <dc:creator>jonasb</dc:creator>
      <dc:date>2009-04-23T16:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174941#M6725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jonas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I too use the Coldfire Lite TCP client in my project. I have found that, when the TCP client tries to connect to a server that does not respond, it gets trapped in a wait loop that does not contain a timeout, so it will remain in this loop forever.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have created a simple fix for this. You can find the fix in a document I posted here recently, see this thread:&lt;/P&gt;&lt;P&gt;&lt;A href="http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&amp;amp;thread.id=6625" target="_blank"&gt;http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&amp;amp;thread.id=6625&lt;/A&gt;&lt;/P&gt;&lt;P&gt;If you have any questions about this, just let me know!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Marc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 00:58:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174941#M6725</guid>
      <dc:creator>vier_kuifjes</dc:creator>
      <dc:date>2009-04-24T00:58:31Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174942#M6726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The actual TCP fix is located in the file TCPAPI.C, which is buried in some folder in the Coldfire Lite project. To make things simple, I have attached the fixed version of that file to this message.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Marc&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 01:28:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174942#M6726</guid>
      <dc:creator>vier_kuifjes</dc:creator>
      <dc:date>2009-04-24T01:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174943#M6727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I hope this solve's the problem. But will it also try connecting after that the connection is lost (I mean when the server not properly disconnect) by example when the switch is down?&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 02:33:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174943#M6727</guid>
      <dc:creator>jonasb</dc:creator>
      <dc:date>2009-04-24T02:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174944#M6728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You set up the connection using the m_connect function. This function returns 0 when successful, and nonzero when it fails. It is up to the code to re-attempt to connect to the server. You will probably have to set up some kind of loop to do this...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this is what you were asking?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 02:46:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174944#M6728</guid>
      <dc:creator>vier_kuifjes</dc:creator>
      <dc:date>2009-04-24T02:46:36Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174945#M6729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply but i got still one error.&lt;/P&gt;&lt;P&gt;I made a loop. Then he says about 18 times "cold not find target, reset". Then he gives an error that there is no memory left. I was searching and i found he did an alloc. So he makes a reservation for some memory 18 times. I think i have to do something with free my memory. I found something like TCB_FREE. I tried somethings but i still get acces error. Does anyone can help me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanx&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by jonasb on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-04-24&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;09:21 AM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 15:04:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174945#M6729</guid>
      <dc:creator>jonasb</dc:creator>
      <dc:date>2009-04-24T15:04:11Z</dc:date>
    </item>
    <item>
      <title>Re: how to continuously try to auto connect?</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174946#M6730</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marc ,&lt;/P&gt;&lt;P&gt;I cannot find any solution in the given link by you . can you attach the solution in the reply itself.\&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Nisha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jan 2013 05:48:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/how-to-continuously-try-to-auto-connect/m-p/174946#M6730</guid>
      <dc:creator>netra</dc:creator>
      <dc:date>2013-01-22T05:48:46Z</dc:date>
    </item>
  </channel>
</rss>

