<?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>topic Re: MCF5475 FEC transmit hang in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200827#M9199</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom&lt;/P&gt;&lt;P&gt;I've been poring over the FEC part of the the databook and errata for weeks now. Just this last week I noticed that SECF175 applies only to the receive FIFO, not the transmit.&lt;/P&gt;&lt;P&gt;Quote "the data in the following peripherals' &lt;U&gt;receive&lt;/U&gt; FIFO could become corrupted...﻿"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;About reading registers that have status bits written by HW, I have no idea or guesses. We used the sample code as a basis.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We use the TXF interrupt (In the EIR), and write EIR with that bit set to clear the event.&lt;/P&gt;&lt;P&gt;If XFUN,XFERR or RFERR would ever get set then we would read the FIFO status registers, but so far I have never seen any of those error bits get set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I suppose that that TXF interurpt isn't strictly necessary. As a diagnostic, though, if he number of TXF interurpts is suddenly less than DMA Tx interrupts it would tell us the transmitter is hung.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 May 2011 01:50:46 GMT</pubDate>
    <dc:creator>plattro_</dc:creator>
    <dc:date>2011-05-26T01:50:46Z</dc:date>
    <item>
      <title>MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200822#M9194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Using the MCF5475 with Ethernet for a while, design is pretty stable.&lt;/P&gt;&lt;P&gt;The problem appears related to heavy transmit stress:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the Ethernet transmit stops, the HW FIFO fills, the 'ALARM" to the DMA is cleared, then naturally the DMABD ring fills and the Application notices.&lt;/P&gt;&lt;P&gt;The Ethernet&amp;nbsp;doesn't recover from this state.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Receive is still working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;A full reset of our SW (and reinitialization of the ethernet controller + PHY) of course recovers, but I would like to find a more graceful recovery.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I believe the DMA is working fine, it has simply stopped because the Tx HW FIFO is full.&lt;/P&gt;&lt;P&gt;(Steady state of the FIFO would be empty: TLRFP==TLWFP==TFRP==TFWP)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;EIMR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f83e0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;ECR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f0000002&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;RCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 05ee0006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;TCR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFWR&amp;nbsp; 00000003&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFAR&amp;nbsp; 00000100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;TX fifo:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFSR&amp;nbsp; 40080000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFCR&amp;nbsp; 0f240000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;FECTLRFP 0000015f&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTLWFP 00000144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFRP&amp;nbsp; 00000164&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;FECTFWP&amp;nbsp; 00000144&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can manually empty the FIFO by reading the TFDR with the debugger, so it appears the FIFO itself is working fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;TXW is asserted, but the device errata indicates this is a nuisance, and the interrupt should be masked (It is), because it gets asserted by colissions, and WOULD stop the whole ethernet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;datecodes all XXX0837 and newer,&lt;/P&gt;&lt;P&gt;(I have only seen the old datecodes affected by the device errata on eval boards that still say "Motorola" on them)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;any hints gladly appreciated&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Apr 2011 13:37:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200822#M9194</guid>
      <dc:creator>plattro_</dc:creator>
      <dc:date>2011-04-26T13:37:21Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200823#M9195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have opened SR &lt;STRONG&gt;1-745821173&lt;/STRONG&gt; against this issue and escalated to our distrubutor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 May 2011 15:21:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200823#M9195</guid>
      <dc:creator>plattro</dc:creator>
      <dc:date>2011-05-04T15:21:05Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200824#M9196</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;Hi,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;We are also facing a similar kind of problem with MCF5485.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;When using MCF5485 and Ethernet for transfering files its is getting crashed for large file transfers(500KB).&amp;nbsp; &lt;SPAN style="font-family: 'Courier New'; color: #000099; font-size: 10pt;"&gt;whenever the crash happens the &lt;STRONG&gt;FECRFSR&lt;/STRONG&gt; ' s(FEC Receive FIFO Status Register) &lt;STRONG&gt;RXW&lt;/STRONG&gt; (Receive wait condition) is set to &lt;STRONG&gt;"1"&lt;/STRONG&gt;..and causes the &lt;STRONG&gt;RFERR&lt;/STRONG&gt; to set 1 in &lt;STRONG&gt;EIR&lt;/STRONG&gt; Register.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#333399" face="courier new,courier"&gt;&lt;SPAN style="font-family: 'Courier New'; color: #000099; font-size: 10pt;"&gt;Please let me know how to get thorugh this. For reference I have attached snapshots of error screen at the time of crash and the status of FEC registers during crash..&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 May 2011 14:02:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200824#M9196</guid>
      <dc:creator>Vikki_ERL</dc:creator>
      <dc:date>2011-05-13T14:02:01Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200825#M9197</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could this be SECF175? It says:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;"For the FEC, FIFO data is used to update the FEC buffer descriptors, so the&lt;BR /&gt;data corruption could affect packet data and/or descriptor information.﻿"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Otherwise, is your driver code reading any registers in the FEC that are meant to have status bits written to them by the hardware? I've just found what looks like a problem with the MCF5329 LCDC (LCD Controller) where reading the LISR register prevents the hardware from setting bits in itr. Something like that could be remotely possible with the FEC too.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Tom&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 May 2011 11:55:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200825#M9197</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2011-05-23T11:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200826#M9198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Vikki&lt;/P&gt;&lt;P&gt;I think you experience a different problem. Key charicteristic of the problem I observe is that the TxFIFO read/write and last frame read/write pointers are all at different locations. In your case, the TxFIFO pointers are all the same, so you have a different problem than I have.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It looks to me that your Rx FIFO has unread data in in (RXW,FRM-RDY, ALARM), I guess about 270 bytes - subract Rxfifo read and write pointers). Did your DMA stop? Does your DMA Rx ISR always call DMA_continue()?All all Rx DMA buffer descriptors freed up and 'owned' by the DMA?&lt;/P&gt;&lt;P&gt;As far as I understand the DMA, the 'ALARM' bit set should be telling the DMA to run, unless it has stopped due to a buffer descriptor owned by the software.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All disclaimers apply, I have no idea. I'm just hoping that thinking about your problem maybe gives me some idea about my problem...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;﻿&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 May 2011 01:34:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200826#M9198</guid>
      <dc:creator>plattro_</dc:creator>
      <dc:date>2011-05-26T01:34:35Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5475 FEC transmit hang</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200827#M9199</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tom&lt;/P&gt;&lt;P&gt;I've been poring over the FEC part of the the databook and errata for weeks now. Just this last week I noticed that SECF175 applies only to the receive FIFO, not the transmit.&lt;/P&gt;&lt;P&gt;Quote "the data in the following peripherals' &lt;U&gt;receive&lt;/U&gt; FIFO could become corrupted...﻿"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;About reading registers that have status bits written by HW, I have no idea or guesses. We used the sample code as a basis.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We use the TXF interrupt (In the EIR), and write EIR with that bit set to clear the event.&lt;/P&gt;&lt;P&gt;If XFUN,XFERR or RFERR would ever get set then we would read the FIFO status registers, but so far I have never seen any of those error bits get set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I suppose that that TXF interurpt isn't strictly necessary. As a diagnostic, though, if he number of TXF interurpts is suddenly less than DMA Tx interrupts it would tell us the transmitter is hung.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 May 2011 01:50:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5475-FEC-transmit-hang/m-p/200827#M9199</guid>
      <dc:creator>plattro_</dc:creator>
      <dc:date>2011-05-26T01:50:46Z</dc:date>
    </item>
  </channel>
</rss>

