<?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: Problem with lpspi + Freertos in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Problem-with-lpspi-Freertos/m-p/1091527#M9608</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The assert you are referring means that &lt;STRONG&gt;bytesEachWrite&lt;/STRONG&gt; has a different value that any of the cases in the switch (1, 2, 3, 4). I recommend you to track down which part of your code is not setting bytesEachWrite correctly to know what is really happening in this situation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Felipe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Jun 2020 15:32:16 GMT</pubDate>
    <dc:creator>FelipeGarcia</dc:creator>
    <dc:date>2020-06-30T15:32:16Z</dc:date>
    <item>
      <title>Problem with lpspi + Freertos</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Problem-with-lpspi-Freertos/m-p/1091526#M9607</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have problem with lpspi driver from SDK.&lt;/P&gt;&lt;P&gt;It sometimes generates an assert. Tracing, It comes to this function. (copy from the SDK driver)&lt;/P&gt;&lt;P&gt;static uint32_t LPSPI_CombineWriteData(uint8_t *txData, uint8_t bytesEachWrite, bool isByteSwap)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;assert(txData != NULL);&lt;/P&gt;&lt;P&gt;uint32_t wordToSend = 0U;&lt;/P&gt;&lt;P&gt;switch (bytesEachWrite)&lt;BR /&gt; {&lt;BR /&gt; case 1:&lt;BR /&gt; wordToSend = *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case 2:&lt;BR /&gt; if (!isByteSwap)&lt;BR /&gt; {&lt;BR /&gt; wordToSend = *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; wordToSend = (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;break;&lt;/P&gt;&lt;P&gt;case 3:&lt;BR /&gt; if (!isByteSwap)&lt;BR /&gt; {&lt;BR /&gt; wordToSend = *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 16U;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; wordToSend = (unsigned)(*txData) &amp;lt;&amp;lt; 16U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case 4:&lt;BR /&gt; if (!isByteSwap)&lt;BR /&gt; {&lt;BR /&gt; wordToSend = *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 16U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 24U;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;BR /&gt; else&lt;BR /&gt; {&lt;BR /&gt; wordToSend = (unsigned)(*txData) &amp;lt;&amp;lt; 24U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 16U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= (unsigned)(*txData) &amp;lt;&amp;lt; 8U;&lt;BR /&gt; ++txData;&lt;BR /&gt; wordToSend |= *txData;&lt;BR /&gt; ++txData;&lt;BR /&gt; }&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;default:&lt;BR /&gt; assert(false);&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;// ASSERT RIGHT HERE&lt;/STRONG&gt;&lt;BR /&gt; break;&lt;BR /&gt; }&lt;BR /&gt; return wordToSend;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Please help if you have the same problem.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jun 2020 08:18:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Problem-with-lpspi-Freertos/m-p/1091526#M9607</guid>
      <dc:creator>Mit_3000GT_VR4</dc:creator>
      <dc:date>2020-06-25T08:18:51Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with lpspi + Freertos</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Problem-with-lpspi-Freertos/m-p/1091527#M9608</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The assert you are referring means that &lt;STRONG&gt;bytesEachWrite&lt;/STRONG&gt; has a different value that any of the cases in the switch (1, 2, 3, 4). I recommend you to track down which part of your code is not setting bytesEachWrite correctly to know what is really happening in this situation.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Felipe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jun 2020 15:32:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Problem-with-lpspi-Freertos/m-p/1091527#M9608</guid>
      <dc:creator>FelipeGarcia</dc:creator>
      <dc:date>2020-06-30T15:32:16Z</dc:date>
    </item>
  </channel>
</rss>

