<?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>MPC5xxx中的主题 Re: DSPI POP Register Reading Problem</title>
    <link>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536885#M3631</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here you can find useful tool for MMU configuration.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-331924"&gt;MMU Assist Register CONFIGURATOR&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How your configuration looks like you may find out in debugger view like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="MMU.GIF"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/37344i8C9F4CBEECA44058/image-size/large?v=v2&amp;amp;px=999" role="button" title="MMU.GIF" alt="MMU.GIF" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jul 2016 14:23:24 GMT</pubDate>
    <dc:creator>davidtosenovjan</dc:creator>
    <dc:date>2016-07-26T14:23:24Z</dc:date>
    <item>
      <title>DSPI POP Register Reading Problem</title>
      <link>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536882#M3628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are using DSPI 0 of MPC5645S device. We have configured the module as RXFIFO disable. Following are our configuration.&lt;/P&gt;&lt;P&gt;DSPI_0.MCR.R =0xC0020001;&lt;/P&gt;&lt;P&gt;DSPI_0.MCR.B.DIS_RXF = 1;&lt;/P&gt;&lt;P&gt;DSPI_0.MCR.B.ROOE = 1;&lt;/P&gt;&lt;P&gt;DSPI_0.CTAR[0].R= 0x780A7727; &lt;/P&gt;&lt;P&gt;DSPI_0.CTAR[0].B.CPOL=1;&lt;/P&gt;&lt;P&gt;DSPI_0.CTAR[0].B.CPHA=1;&lt;/P&gt;&lt;P&gt;DSPI_0.RSER.B.RFDF_RE = 0x1;&amp;nbsp;&amp;nbsp; //enable Rx interrupt&lt;/P&gt;&lt;P&gt;DSPI_0.RSER.B.TCF_RE = 0x1;&amp;nbsp;&amp;nbsp; //enable Tx interrupt&lt;/P&gt;&lt;P&gt;DSPI_0.MCR.B.HALT=0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //start the transfers. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SIU.PCR[25].R=0x0600; //sclk0&lt;/P&gt;&lt;P&gt;SIU.PCR[24].R=0x0600; //sout0&lt;/P&gt;&lt;P&gt;SIU.PCR[23].R=0x0507; //sin0&lt;/P&gt;&lt;P&gt;SIU.PCR[29].R=0x0E00; //cs1_1&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This&amp;nbsp; is my ISR&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DSPI0ISR(void)&lt;/P&gt;&lt;P&gt;{&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DSPI_0.RSER.B.RFDF_RE = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; receive_dspi_data0 = (uint16_t) DSPI_0.POPR.R;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DSPI_0.SR.R = DSPI_0.SR.R | 0x80020000;&lt;/P&gt;&lt;P&gt;&amp;nbsp; receive_flag0 = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; DSPI_0.RSER.B.RFDF_RE = 1;&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is whenever ISR gets triggered. The data in variable receive_dspi_data0 read as zero every time even if the POP register value in debugger window shows valid data. What I have found is, this peripherals are memory mapped registers and the DSPI_0.POP is mapped to address 0xfff90038, when I look into memory window the value at this address is zero, but in debugger window it is valid data. what I observed is it takes time to see the valid data at 0xfff90038. but I cannot read the data by using DSPI_0.POPR.R in one time. That's why I am always getting zero value.&lt;/P&gt;&lt;P&gt;In reference manual it is written that &lt;/P&gt;&lt;P&gt;For compatibility, configure the TLB (MMU table) entry for DSPIx_POPR as guarded.&lt;/P&gt;&lt;P&gt;What does it mean. how to make DSPI_0.POP value to be read in one ISR cycle. what I can do so that value at address 0xfff90038 becomes valid data as soon program enters the receive ISR.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2016 08:50:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536882#M3628</guid>
      <dc:creator>rehan_khan</dc:creator>
      <dc:date>2016-07-26T08:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: DSPI POP Register Reading Problem</title>
      <link>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536883#M3629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is nonsense to toggle RFDF_RE within interrupt service routine, it is not supposed to be there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A "G" is provided to protect a memory space that cannot be accessed speculatively. To simplify an answer this is general recommendation for all places that may act as buffer or FIFO. My recommendation is to have cache inhibit, guarded access for all registers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your code - I would recommend to test your code without debugger (for instance you may printf notices via terminal window) to remove possible debugger influence. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2016 12:44:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536883#M3629</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2016-07-26T12:44:11Z</dc:date>
    </item>
    <item>
      <title>Re: DSPI POP Register Reading Problem</title>
      <link>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536884#M3630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply. Earlier I was not at all using&amp;nbsp;&amp;nbsp; DSPI_0.RSER.B.RFDF_RE in ISR. When things were not working I had added this. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;A "G" is provided to protect a memory space that cannot be accessed speculatively. To simplify an answer this is general recommendation for all places that may act as buffer or FIFO. My recommendation is to have cache inhibit, guarded access for all registers.&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you please elaborate on this and how can I do this. what can I do for &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;cache inhibit, guarded access for all registers.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2016 12:59:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536884#M3630</guid>
      <dc:creator>rehan_khan</dc:creator>
      <dc:date>2016-07-26T12:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: DSPI POP Register Reading Problem</title>
      <link>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536885#M3631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here you can find useful tool for MMU configuration.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-331924"&gt;MMU Assist Register CONFIGURATOR&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How your configuration looks like you may find out in debugger view like this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="MMU.GIF"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/37344i8C9F4CBEECA44058/image-size/large?v=v2&amp;amp;px=999" role="button" title="MMU.GIF" alt="MMU.GIF" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jul 2016 14:23:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/DSPI-POP-Register-Reading-Problem/m-p/536885#M3631</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2016-07-26T14:23:24Z</dc:date>
    </item>
  </channel>
</rss>

