<?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: howto DSPI EDMA Slave  MK64 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/howto-DSPI-EDMA-Slave-MK64/m-p/342429#M16588</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ulrich,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; There are several reasons for&amp;nbsp; no data transfer , firstly , be sure the correct link spi ,&lt;/P&gt;&lt;P&gt;and I suggest only use SPI without DMA test , check whether it can transfer data.&lt;/P&gt;&lt;P&gt;If it can transfer data well, then&amp;nbsp; check the spi-dma project .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Jan 2015 06:14:58 GMT</pubDate>
    <dc:creator>Alice_Yang</dc:creator>
    <dc:date>2015-01-15T06:14:58Z</dc:date>
    <item>
      <title>howto DSPI EDMA Slave  MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/howto-DSPI-EDMA-Slave-MK64/m-p/342428#M16587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried slave SPI with DMA on MK64&amp;nbsp; FRDM K64E with the example from 9.4 DSPI Slave Driver&lt;/P&gt;&lt;P&gt;Kinetis SDK v.1.1 API Reference Manual&lt;/P&gt;&lt;P&gt;No data is transfered...&lt;/P&gt;&lt;P&gt;What is wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;short g_dma_read[128];&lt;/P&gt;&lt;P&gt;short g_dma_write[128];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_state_t&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; edmaState;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_user_config_t edmaUserConfig;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dspi_edma_slave_state_t&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dspiEdmaSlaveState;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dspi_edma_slave_user_config_t slaveEdmaUserConfig;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dspi_status_t result;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTD_BASE, 0, kPortMuxAlt2); // PTD0 SPI0_PCS0&amp;nbsp; CS slave, 1 CLK high 19 CLK low&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTD_BASE, 1, kPortMuxAlt2); // PTD1 SPI0_SCK&amp;nbsp;&amp;nbsp; CLK slave with continious 15 MHz clock&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTD_BASE, 2, kPortMuxAlt2); // PTD2 SPI0_SOUT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_HAL_SetMuxMode(PORTD_BASE, 3, kPortMuxAlt2); // PTD3 SPI0_SIN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;edmaUserConfig, 0, sizeof(edmaUserConfig));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edmaUserConfig.chnArbitration = kEDMAChnArbitrationRoundrobin;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EDMA_DRV_Init(&amp;amp;edmaState, &amp;amp;edmaUserConfig);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;dspiEdmaSlaveState, 0, sizeof(dspiEdmaSlaveState));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memset(&amp;amp;slaveEdmaUserConfig, 0, sizeof(slaveEdmaUserConfig));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; slaveEdmaUserConfig.dataConfig.clkPhase&amp;nbsp;&amp;nbsp;&amp;nbsp; = kDspiClockPhase_FirstEdge;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; slaveEdmaUserConfig.dataConfig.clkPolarity = kDspiClockPolarity_ActiveHigh;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; slaveEdmaUserConfig.dataConfig.bitsPerFrame = 19;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; slaveEdmaUserConfig.dummyPattern = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DSPI_DRV_EdmaSlaveInit(0, &amp;amp;dspiEdmaSlaveState, &amp;amp;slaveEdmaUserConfig);&amp;nbsp; // DSPI0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // g_dma_write, g_dma_read is previously filled with testpattern, to make sure to debug&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // make SPI transfer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = DSPI_DRV_EdmaSlaveTransfer(0, // SPI0&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;&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; (const uint8_t *) g_dma_write,&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;&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; (uint8_t *)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_dma_read,&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;&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; 100);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(kStatus_DSPI_Success != DSPI_DRV_EdmaSlaveGetTransferStatus(0, NULL)) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm(" NOP");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Jan 2015 08:51:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/howto-DSPI-EDMA-Slave-MK64/m-p/342428#M16587</guid>
      <dc:creator>ulrichriedel</dc:creator>
      <dc:date>2015-01-14T08:51:35Z</dc:date>
    </item>
    <item>
      <title>Re: howto DSPI EDMA Slave  MK64</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/howto-DSPI-EDMA-Slave-MK64/m-p/342429#M16588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ulrich,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; There are several reasons for&amp;nbsp; no data transfer , firstly , be sure the correct link spi ,&lt;/P&gt;&lt;P&gt;and I suggest only use SPI without DMA test , check whether it can transfer data.&lt;/P&gt;&lt;P&gt;If it can transfer data well, then&amp;nbsp; check the spi-dma project .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jan 2015 06:14:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/howto-DSPI-EDMA-Slave-MK64/m-p/342429#M16588</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2015-01-15T06:14:58Z</dc:date>
    </item>
  </channel>
</rss>

