<?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>Processor Expert SoftwareのトピックRe: Re: Re: Re: SPI Initialization problem in SPIMaster_LDD</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322626#M2447</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the PE file with which I can observe the problem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Jul 2014 16:54:40 GMT</pubDate>
    <dc:creator>Laartoor</dc:creator>
    <dc:date>2014-07-08T16:54:40Z</dc:date>
    <item>
      <title>SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322622#M2443</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have set up SPI0 using a SPIMaster_LDD component in Processor Expert ( the version bundled with CW 10.6). In the configuration I have used one chip select signal, an output pin, and disabled the input pin. The code initializes the MCR register:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro _jivemacro_uid_14033480130563861 jive_macro_code" jivemacro_uid="_14033480130563861"&gt;
&lt;P&gt;&amp;nbsp; /* SPI0_MCR: MSTR=0,CONT_SCKE=0,DCONF=0,FRZ=0,MTFE=0,PCSSE=0,ROOE=1,??=0,??=0,PCSIS=1,DOZE=0,MDIS=0,DIS_TXF=0,DIS_RXF=0,CLR_TXF=0,CLR_RXF=0,SMPL_PT=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,HALT=1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SPI0_MCR = SPI_MCR_DCONF(0x00) |&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;&amp;nbsp; SPI_MCR_ROOE_MASK |&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;&amp;nbsp; SPI_MCR_PCSIS(0x01) |&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;&amp;nbsp; SPI_MCR_SMPL_PT(0x00) |&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;&amp;nbsp; SPI_MCR_HALT_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set Configuration register */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* SPI0_MCR: MSTR=1,CONT_SCKE=0,DCONF=0,FRZ=0,MTFE=0,PCSSE=0,ROOE=1,??=0,??=0,PCSIS=1,DOZE=0,MDIS=0,DIS_TXF=0,DIS_RXF=1,CLR_TXF=1,CLR_RXF=1,SMPL_PT=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,HALT=1 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SPI0_MCR = SPI_MCR_MSTR_MASK |&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;&amp;nbsp; SPI_MCR_DCONF(0x00) |&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;&amp;nbsp; SPI_MCR_ROOE_MASK |&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;&amp;nbsp; SPI_MCR_PCSIS(0x01) |&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;&amp;nbsp; SPI_MCR_DIS_RXF_MASK |&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;&amp;nbsp; SPI_MCR_CLR_TXF_MASK |&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;&amp;nbsp; SPI_MCR_CLR_RXF_MASK |&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;&amp;nbsp; SPI_MCR_SMPL_PT(0x00) |&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;&amp;nbsp; SPI_MCR_HALT_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set Configuration register */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;but then forgets to clear the HALT bit again so that the interface can run.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code only starts to communicate after I inserted code to clear the HALT bit, before it did nothing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use it for a Kinetis K10 processor.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jun 2014 10:59:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322622#M2443</guid>
      <dc:creator>Laartoor</dc:creator>
      <dc:date>2014-06-21T10:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322623#M2444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please provide more details on how you configured the components ? A sample project .zip file would be the best.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Petr Hradsky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 14:48:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322623#M2444</guid>
      <dc:creator>Petr_H</dc:creator>
      <dc:date>2014-06-24T14:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: Re: SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322624#M2445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I believe the problem to be in the number of clock configurations for the CPU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With one configuration, the init code ends like this:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14037773083092675" jivemacro_uid="_14037773083092675"&gt;
&lt;P&gt;&amp;nbsp; /* SPI0_RSER: TCF_RE=0,??=0,??=0,EOQF_RE=0,TFUF_RE=0,??=0,TFFF_RE=0,TFFF_DIRS=0,??=0,??=0,??=0,??=0,RFOF_RE=0,??=0,RFDF_RE=1,RFDF_DIRS=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SPI0_RSER = SPI_RSER_RFDF_RE_MASK;&amp;nbsp;&amp;nbsp; /* Set DMA Interrupt Request Select and Enable register */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* SPI0_MCR: HALT=0 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SPI0_MCR &amp;amp;= (uint32_t)~(uint32_t)(SPI_MCR_HALT_MASK);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Registration of the device structure */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; PE_LDD_RegisterDeviceStructure(PE_LDD_COMPONENT_SM1_ID,DeviceDataPrv);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; return ((LDD_TDeviceData *)DeviceDataPrv); /* Return pointer to the data data structure */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And with two clock configurations, the init code ends like this:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14037773576629922" jivemacro_uid="_14037773576629922"&gt;
&lt;P&gt;&amp;nbsp; /* SPI0_RSER: TCF_RE=0,??=0,??=0,EOQF_RE=0,TFUF_RE=0,??=0,TFFF_RE=0,TFFF_DIRS=0,??=0,??=0,??=0,??=0,RFOF_RE=0,??=0,RFDF_RE=1,RFDF_DIRS=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; SPI0_RSER = SPI_RSER_RFDF_RE_MASK;&amp;nbsp;&amp;nbsp; /* Set DMA Interrupt Request Select and Enable register */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; GenMCPIF_SetClockConfiguration(DeviceDataPrv, Cpu_GetClockConfiguration()); /* Set Initial according speed CPU mode */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Registration of the device structure */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; PE_LDD_RegisterDeviceStructure(PE_LDD_COMPONENT_GenMCPIF_ID,DeviceDataPrv);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; return ((LDD_TDeviceData *)DeviceDataPrv); /* Return pointer to the data data structure */&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And SetClockConfiguration only updates CTAR0 without stopping and restarting the module as required by the datasheet ("Do not write to the CTARs while in Running State").&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jun 2014 10:28:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322624#M2445</guid>
      <dc:creator>Laartoor</dc:creator>
      <dc:date>2014-06-26T10:28:35Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Re: SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322625#M2446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The generated code is influenced by many properties. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Please send us &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;the sample project (or at least ProcessorExpert.pe file to reproduce the problem).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Petr Hradsky&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 12:48:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322625#M2446</guid>
      <dc:creator>Petr_H</dc:creator>
      <dc:date>2014-06-27T12:48:56Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Re: Re: SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322626#M2447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the PE file with which I can observe the problem&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jul 2014 16:54:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322626#M2447</guid>
      <dc:creator>Laartoor</dc:creator>
      <dc:date>2014-07-08T16:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Initialization problem in SPIMaster_LDD</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322627#M2448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I have reproduced the problem you has reported. The SPIMaster_LDD generate incorrect initialization code when two and more clock configurations are enable in the CPU component of the project and the SPIMaster_LDD component is enabled in all these configurations (the method HWEnDi is not generated and the HALT bit is not cleared).&lt;/P&gt;&lt;P&gt;As a workaround you can clear the HALT bit in the SPI init funcition. E.g. add the following lines at the end of the init function for SPI0:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="comment"&gt;/* SPI0_MCR: HALT=0 */&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;SPI0_MCR &amp;amp;= (uint32_t)~(uint32_t)(SPI_MCR_HALT_MASK); &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Oct 2014 11:18:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/SPI-Initialization-problem-in-SPIMaster-LDD/m-p/322627#M2448</guid>
      <dc:creator>marek_neuzil</dc:creator>
      <dc:date>2014-10-07T11:18:05Z</dc:date>
    </item>
  </channel>
</rss>

