<?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>Kinetis Microcontrollers中的主题 Re: Ethernet frame transmission</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490248#M30243</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for info&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using Processor expert Generated code in my project. I'm doubt about whether it has proper TCP/IP Stack or Not. And I doing project on Keil IDE.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 May 2016 04:58:07 GMT</pubDate>
    <dc:creator>trilokjt</dc:creator>
    <dc:date>2016-05-24T04:58:07Z</dc:date>
    <item>
      <title>Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490246#M30241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Everyone&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to transmit frame on Ethernet, I made internal loop back, but i'm unable to transmit the frame. I&amp;nbsp; tested both interrupt and polling. None of them worked. I'm attaching file please have a look at it and tell me whats the problem is?&lt;/P&gt;&lt;P&gt;Processor : MK60N512 &lt;/P&gt;&lt;P&gt;Here is the BIT test code&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;uint8_t&lt;/TD&gt;&lt;TD style=""&gt;PerformBIT_EthernetTest(void)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;{&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;LDD_ETH_TBufferDesc BufferDescListPtr[2];&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint8*&amp;nbsp; BufferListPtr[2]; &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint8 tx_buf[120],rx_buf[120];&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint8_t dummy[100],&amp;nbsp; Status = 0;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;int i;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint8_t temp[] = {"\n\r\v 3. Testing Ethernet.."};&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint8_t ErrorMsg[] = {"\n\n\r\t Ethernet Test Failed"};&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;uint32 *reg_ptr1,reg_value1;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;BufferDescListPtr[0].DataPtr = tx_buf;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;BufferDescListPtr[0].Size = 100;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;BufferListPtr[0] = rx_buf;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; TxStr(temp);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[0]=0xff;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; // broad cast frame address = ff:ff:ff:ff:ff:ff&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[1]=0xff;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[2]=0xff;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[3]=0xff;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[4]=0xff;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[5]=0xff;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[6]=0x00;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[7]=0x01;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[8]=0x02;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[9]=0x03;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[10]=0x04;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;tx_buf[11]=0x05;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;for (i=12;i&amp;lt;100;i++) tx_buf[i]=0x55;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // fill data area with 0x55 &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp; for (i=12;i&amp;lt;100;i++)&amp;nbsp; rx_buf[i]=0xaa;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // fill data area with 0xaa &lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;Status=1;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;ENET_PDD_EnableInternalLoopback(ENET_BASE_PTR, PDD_ENABLE);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ETH1_ReceiveFrame(eth_handler,&amp;nbsp; BufferListPtr,&amp;nbsp; 1);&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;eth_rx_set =0;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;ETH1_SendFrame(eth_handler, BufferDescListPtr, 1);&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; eth_tx_set = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;for (i=0;i&amp;lt;100;i++)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;Delay(1000);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp; if(eth_tx_set) &lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;break;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;for (i=0;i&amp;lt;100;i++)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; Delay(1000);&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; if(eth_rx_set)&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; break;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;if (eth_tx_set &amp;amp;&amp;amp; eth_rx_set )&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;Status=0;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp; for(i=12;i&amp;lt;90;i++)&amp;nbsp; // compare recived data&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (tx_buf[i] != rx_buf[i])&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; {&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status=0;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; }&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;else&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;Status = 1;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;TxStr(ErrorMsg);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style=""&gt;&lt;/TD&gt;&lt;TD style=""&gt; return Status;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337397"&gt;ETH.c.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337397"&gt;ENET_PDD.h.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 May 2016 09:21:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490246#M30241</guid>
      <dc:creator>trilokjt</dc:creator>
      <dc:date>2016-05-02T09:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490247#M30242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Hi Trilok &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;It seems to me you are sending Raw Ethernet frames, unfortunately we don’t have examples, but if you want to take a look to the KQRUG, it shows an initialization code example for ENET Module.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nxp.com/files/32bit/doc/quick_ref_guide/KQRUG.pdf"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="http://www.nxp.com/files/32bit/doc/quick_ref_guide/KQRUG.pdf" target="test_blank"&gt;http://www.nxp.com/files/32bit/doc/quick_ref_guide/KQRUG.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;However, due to complexity of the Ethernet protocol, I recommend you to use a Multi Layered Software Architecture and a TCP/IP stack. The OSI model and the TCP/IP model are the most popular multilayer communication models. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;The next image shows you the layers the TCP communication model.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN style="font-size: 12.0pt;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="ethernet.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/33101i0CCF71EFFFD2A1F6/image-size/large?v=v2&amp;amp;px=999" role="button" title="ethernet.png" alt="ethernet.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;According to the image above, when sending an Ethernet packet the data is generated in the application layer, then Transport Layer protocol header (TCP in this case) is concatenated to the payload, this header contains tracking transmitted data segments, ACK received, unacknowledged data and connection ports, then another header for the Network layer is added including Time to live, source IP and destination IP address. At the end the MCU creates the Ethernet Header containing preamble, source and destination MAC address, and with all that information calculates the Checksum and send the packet.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;When receiving data the MCU checks the FCS, then IP header is decoupled and destination IP is compared to evaluate if it belongs to this device, if it doesn´t then the entire frame is ignored. After this the network layer header (TCP in this case) is decoupled and the connection port is checked, the last layer decouples the application header if it exists and gets the payload.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;If you try to send Ethernet data without TCP/IP stack, you have to create all the headers each layer one by one manually and it might be complicated. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;On the other hand a TCP/IP stack will create all the headers like TCP, IP and you only have to provide the data, and when you are receiving data, a TCP/IP stack will process the headers and give you the payload without all the headers. This is why it is strongly recommended to use a TCP/IP stack, as it makes all that process, and the user can only focus in the application.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;NXP provides different tools with TCP/IP Stacks: &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;-MQX4.2 with RTCS&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;-KSDK2.0 with lwIP&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12.0pt;"&gt;RTCS TCP/IP Stack in MQX 4.2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;RTCS provides a rich assortment of TCP/IP networking application protocols and uses the NXP MQX RTOS drivers for Ethernet and serial connectivity.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;For stating with MQX go to &lt;/SPAN&gt;&lt;A href="http://www.nxp.com/mqx"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="https://community.nxp.com/www.nxp.com/mqx" target="test_blank"&gt;www.nxp.com/mqx&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Once you install MQX you will find different examples using RTCS, you can follow the next path: C:\Freescale\Freescale_MQX_4_2\rtcs\examples&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Note: RTCS is no longer supported in SDK2.0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12.0pt;"&gt;Lightweight TCP/IP (lwIP) Stack in Kinetis SDK&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;NXP provides a software development kit for Kinetis MCUs that includes system startup, peripheral drivers, USB and connectivity stacks, middleware, and real-time operating system (RTOS) kernels. The Kinetis SDK also includes getting started and API documentation along with usage examples and demo applications&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;For starting with KSDK follow this link &lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-329662"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="https://community.freescale.com/docs/DOC-329662" target="test_blank"&gt;https://community.freescale.com/docs/DOC-329662&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;The TCP/IP stack provided in KSDK is Lightweight IP (lwIP), it also provides several protocols and you could check next path for examples using lwIP:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;C:\Freescale\SDK_2.0\boards\K60D100M\demo_apps\lwIP&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: 6.0pt; text-align: justify;"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;If you are getting stated with this TCP/IP stack. The next document is a guide on how to reproduce this example as a standalone project.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-252874"&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="https://community.freescale.com/docs/DOC-252874" target="test_blank"&gt;https://community.freescale.com/docs/DOC-252874&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;As a side comment, please note that the K60DN512 is the first silicon version of K60 and it is no longer manufactured. For new designs it is strongly recommended to use a second version like K60D100M, &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Let me know if you have any question.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.0pt;"&gt;Mario &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2016 23:18:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490247#M30242</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2016-05-23T23:18:45Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490248#M30243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for info&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using Processor expert Generated code in my project. I'm doubt about whether it has proper TCP/IP Stack or Not. And I doing project on Keil IDE.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2016 04:58:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490248#M30243</guid>
      <dc:creator>trilokjt</dc:creator>
      <dc:date>2016-05-24T04:58:07Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490249#M30244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt; There are 3 important point to be clear&lt;/P&gt;&lt;P&gt;-PEx Processor Expert&lt;/P&gt;&lt;P&gt;-TCP/IP stack&lt;/P&gt;&lt;P&gt;-IDE&lt;/P&gt;&lt;P&gt;PEx is a development system to create, configure, software components that generate source code, for ENET, it can provide initialization examples, and creates a simple driver, but this option is the same problem, you have to create the headers manually, PE doesn´t provides&amp;nbsp; a TCP/IP stack.&lt;/P&gt;&lt;P&gt;Unfortunately we don´t have a solution with this features, PEx + TCP/IP stack + KEIL.&lt;/P&gt;&lt;P&gt;Other options could be &lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;KDS + PEx + RTCs you can check the next document &lt;A href="https://community.freescale.com/docs/DOC-106170"&gt;https://community.freescale.com/docs/DOC-106170&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;KEIL + KSDK 2.0 + lwIP, without PEx&lt;/LI&gt;&lt;LI&gt;Add to your project (manually) the lwIP stack, and you can read the next document, and use as a reference to PEx, the process in the document is created in KDS. &lt;SPAN lang="ES-MX" style="color: #1f497d;"&gt;&lt;A href="https://community.freescale.com/docs/DOC-252874"&gt;https://community.freescale.com/docs/DOC-252874&lt;/A&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Mario &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 May 2016 13:54:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490249#M30244</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2016-05-26T13:54:22Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490250#M30245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using Keil and PEx is there any provision to add Lwip to it? I tried 2nd Option as you said but I failed. Is there any document to getting started with 2nd option? I don't want do in KDS because I already wrote body of Project in keil. So&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Trilok&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 May 2016 08:25:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490250#M30245</guid>
      <dc:creator>trilokjt</dc:creator>
      <dc:date>2016-05-31T08:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490251#M30246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Trilok&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif;"&gt;You can download examples in Keil, search Kinetis Expert in the web, after that log in and select the option "Build an SDK". See the picture below&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="kinetis expert.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/60364i7BE23C196B908E06/image-size/large?v=v2&amp;amp;px=999" role="button" title="kinetis expert.png" alt="kinetis expert.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select the board that you are using and name the configuration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="kinetis expert3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/60320i796A2FAAD3E429C0/image-size/large?v=v2&amp;amp;px=999" role="button" title="kinetis expert3.png" alt="kinetis expert3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri',sans-serif;"&gt;Write a Package name SDK version 1.3 and then choose Keil MDK in Supported toolchain, with the host that you are working. Be sure to mark the FreeRTOS option. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="kinetis expert2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/60585i76D4C4375D4A5FC1/image-size/large?v=v2&amp;amp;px=999" role="button" title="kinetis expert2.png" alt="kinetis expert2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click Build SDK Package and select "software vault" to see the download process. I recommended to you, take a look lwip examples.&lt;/P&gt;&lt;P&gt;Hope it helps&lt;/P&gt;&lt;P&gt;Mario&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jun 2016 16:28:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490251#M30246</guid>
      <dc:creator>mario_castaneda</dc:creator>
      <dc:date>2016-06-06T16:28:42Z</dc:date>
    </item>
    <item>
      <title>Re: Ethernet frame transmission</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490252#M30247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mario,&lt;/P&gt;&lt;P&gt;I have a similar problem. I need to create two communications (UDP and TCP/IP). I am sending commands with parameters in TCP/IP and UDP, and I need to receive commands in TCP/IP. The problem is that I need and interrupt of flag that tell me that there is a message to process. I'm working with tasks. So, I don't know how to do it in MQX and RTCS. I saw that there is the tcp.h, ip.h and udp.h, but I didn't find how to add Data to the datagram. :smileysad:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Aug 2016 22:48:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Ethernet-frame-transmission/m-p/490252#M30247</guid>
      <dc:creator>norbertoj</dc:creator>
      <dc:date>2016-08-26T22:48:27Z</dc:date>
    </item>
  </channel>
</rss>

