<?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: MCF5485 FEC DMA problem</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5485-FEC-DMA-problem/m-p/216412#M10944</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hello again!&lt;BR /&gt;&lt;BR /&gt;1)&lt;BR /&gt;Here is additional info on my problem: see attachment (or &lt;A href="http://www.wikiupload.com/download_page.php?id=92929)" target="test_blank"&gt;http://www.wikiupload.com/download_page.php?id=92929)&lt;/A&gt;.&lt;BR /&gt;It's sources of very simple testing standalone application, that trying to send packets (42 bytes each) via the FEC0 and FEC1 periodically.&lt;BR /&gt;You can find this loop in the fec_test() function (fec_test.c). The problem is, program causes exception 119 (interrupt source 55) during the first (or sometimes third) packet sending (function fec_sendpacket() in fec_test.c). But interrupt 55 can't be called by CPU, because it masked (and has level 0 priority 0)! &lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" id="smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt;&amp;nbsp; I think, that reason is some strange behaviour of the TX DMA.&lt;BR /&gt;And one more note: after removing m68k_disable_interrupts() and m68k_enable_interrupts() functions from the fec_sendpacket(), program works fine!&lt;BR /&gt;&lt;BR /&gt;2)&lt;BR /&gt;Another problem with FEC: sometimes TX packets lost. I send packet -&amp;gt; got DMA (48) interrupt -&amp;gt; got FEC0 (39) interrupt with TXF flag in EIR register. All fine, no any errors. But a receiver (another ColdFire board or PC) not receive this packet.&lt;BR /&gt;&lt;BR /&gt;Full CPU name: MCF5485CVR200 L14S QDA0808.&lt;BR /&gt;&lt;BR /&gt;Please, help!&lt;BR /&gt;&lt;BR /&gt;Thanks!&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Jan 2009 19:08:44 GMT</pubDate>
    <dc:creator>admin</dc:creator>
    <dc:date>2009-01-27T19:08:44Z</dc:date>
    <item>
      <title>MCF5485 FEC DMA problem</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5485-FEC-DMA-problem/m-p/216411#M10943</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I testing my own FEC driver for RTEMS and has a following problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sometimes program hangs on MCD_continDma( sc-&amp;gt;dma_tx_channel ); (RTEMS multitasking turned off at this moment)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dma_tx_channel is right.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMA interrupt handler is normal too: { printk( "TX\n" ); }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DMA API version: Alpha v0.3 (2004-04-26)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There is part of TX initialization code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dma_res = MCD_startDma(&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sc-&amp;gt;dma_tx_channel,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (s8*)sc-&amp;gt;txdesc,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (s8*)&amp;amp;( MCF548X_FEC_FECTFDR( ifp-&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FEC_MAX_TX_FRM_SIZE,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sc-&amp;gt;dma_initiator_tx,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FEC_TX_DMA_PRI,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCD_FECTX_DMA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCD_INTERRUPT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCD_TT_FLAGS_CW&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCD_TT_FLAGS_RL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCD_TT_FLAGS_SP&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCD_NO_CSUM | MCD_NO_BYTE_SWAP );&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas, why is such thing happening? Can TX DMA cause a system hang?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jan 2009 18:06:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5485-FEC-DMA-problem/m-p/216411#M10943</guid>
      <dc:creator>admin</dc:creator>
      <dc:date>2009-01-15T18:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: MCF5485 FEC DMA problem</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5485-FEC-DMA-problem/m-p/216412#M10944</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hello again!&lt;BR /&gt;&lt;BR /&gt;1)&lt;BR /&gt;Here is additional info on my problem: see attachment (or &lt;A href="http://www.wikiupload.com/download_page.php?id=92929)" target="test_blank"&gt;http://www.wikiupload.com/download_page.php?id=92929)&lt;/A&gt;.&lt;BR /&gt;It's sources of very simple testing standalone application, that trying to send packets (42 bytes each) via the FEC0 and FEC1 periodically.&lt;BR /&gt;You can find this loop in the fec_test() function (fec_test.c). The problem is, program causes exception 119 (interrupt source 55) during the first (or sometimes third) packet sending (function fec_sendpacket() in fec_test.c). But interrupt 55 can't be called by CPU, because it masked (and has level 0 priority 0)! &lt;IMG alt=":smileysad:" class="emoticon emoticon-smileysad" id="smileysad" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-sad.gif" title="Smiley Sad" /&gt;&amp;nbsp; I think, that reason is some strange behaviour of the TX DMA.&lt;BR /&gt;And one more note: after removing m68k_disable_interrupts() and m68k_enable_interrupts() functions from the fec_sendpacket(), program works fine!&lt;BR /&gt;&lt;BR /&gt;2)&lt;BR /&gt;Another problem with FEC: sometimes TX packets lost. I send packet -&amp;gt; got DMA (48) interrupt -&amp;gt; got FEC0 (39) interrupt with TXF flag in EIR register. All fine, no any errors. But a receiver (another ColdFire board or PC) not receive this packet.&lt;BR /&gt;&lt;BR /&gt;Full CPU name: MCF5485CVR200 L14S QDA0808.&lt;BR /&gt;&lt;BR /&gt;Please, help!&lt;BR /&gt;&lt;BR /&gt;Thanks!&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Jan 2009 19:08:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF5485-FEC-DMA-problem/m-p/216412#M10944</guid>
      <dc:creator>admin</dc:creator>
      <dc:date>2009-01-27T19:08:44Z</dc:date>
    </item>
  </channel>
</rss>

