<?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: K70, MQX 4.1 SPI I/O Drivers, Codewarrior CW 10.6 GCC in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/K70-MQX-4-1-SPI-I-O-Drivers-Codewarrior-CW-10-6-GCC/m-p/533120#M16426</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I resolved this issue by disabling the SPIMaster (SPI2) component in ProcessorExpert, and modifying init_gpio.c in the BSP_Files directory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Changed to PORTF configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;/* Configure GPIOF for DSPI2 peripheral function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl = (PORT_MemMapPtr)PORTF_BASE_PTR;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[16] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS0&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[17] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[18] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SOUT&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[19] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[20] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS1&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Was:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;/* Configure GPIOD for DSPI2 peripheral function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl = (PORT_MemMapPtr)PORTD_BASE_PTR;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[11] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS0&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[12] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[13] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SOUT&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[14] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[15] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS1&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 19 Aug 2016 22:02:45 GMT</pubDate>
    <dc:creator>louiemoye</dc:creator>
    <dc:date>2016-08-19T22:02:45Z</dc:date>
    <item>
      <title>K70, MQX 4.1 SPI I/O Drivers, Codewarrior CW 10.6 GCC</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/K70-MQX-4-1-SPI-I-O-Drivers-Codewarrior-CW-10-6-GCC/m-p/533119#M16425</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've read several posts on this forum where others are experiencing the same issue as I am having.&amp;nbsp; Unfortunately, they are working with different versions of MQX and processor.&amp;nbsp; I'm reying to use MQX 4.1 SPI IO driver on K70, to read a serial Flash part (Micron M25P20).&amp;nbsp; I believe I have everything cpnfigured properly as I am seeing exactly what I expect on the SPI bus: Setting the WEL bit to the status register, then reading the status register.&amp;nbsp; I expect 0x02, and this is what I'm seeing on the MISO line.&amp;nbsp; /CS, SCLK, MOSI, and MISO timing and data look correct, however, the read buffer always report 0x00.&amp;nbsp; I've tried &lt;EM&gt;&lt;STRONG&gt;_io_ioctl&amp;nbsp; &lt;/STRONG&gt;&lt;/EM&gt;without success (following).&amp;nbsp;&amp;nbsp; Below is my actual read function.&amp;nbsp; Any help would be great,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Louie&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;/* Test simultaneous write and read to stat reg */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; memset (send_buffer, 0, sizeof (send_buffer));&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; memset (recv_buffer, 0, sizeof (recv_buffer));&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; send_buffer[0] = SPI_MEMORY_READ_STATUS;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; rw.BUFFER_LENGTH = 1;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; rw.WRITE_BUFFER = (char *)send_buffer;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; rw.READ_BUFFER = (char *)recv_buffer;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; printf ("IO_IOCTL_SPI_READ_WRITE ... ");&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; if (SPI_OK == _io_ioctl (m_spifd, IO_IOCTL_SPI_READ_WRITE, &amp;amp;rw))&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; {&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; printf ("OK\n");&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; }&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; else&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; {&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; printf ("ERROR\n");&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; }&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; _io_fflush (m_spifd);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;unsigned char SerialEEPROM::ReadStatus()&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; _mqx_int result;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; uint8_t rxVal = 0xFF; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; spiTxBuf = new unsigned char[SPI_TMP_BUF_SIZE];&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; spiRxBuf = new unsigned char[SPI_TMP_BUF_SIZE]; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; spiTxBuf[0] = STATUS_REG; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; result = _io_write(m_spifd, spiTxBuf, 1);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; result = _io_read(m_spifd, spiRxBuf, 1);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; _io_fflush(m_spifd);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; rxVal = spiRxBuf[0]; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; delete(spiTxBuf);&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; delete(spiRxBuf); &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp; return rxVal;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Aug 2016 17:23:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/K70-MQX-4-1-SPI-I-O-Drivers-Codewarrior-CW-10-6-GCC/m-p/533119#M16425</guid>
      <dc:creator>louiemoye</dc:creator>
      <dc:date>2016-08-16T17:23:07Z</dc:date>
    </item>
    <item>
      <title>Re: K70, MQX 4.1 SPI I/O Drivers, Codewarrior CW 10.6 GCC</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/K70-MQX-4-1-SPI-I-O-Drivers-Codewarrior-CW-10-6-GCC/m-p/533120#M16426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I resolved this issue by disabling the SPIMaster (SPI2) component in ProcessorExpert, and modifying init_gpio.c in the BSP_Files directory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Changed to PORTF configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;/* Configure GPIOF for DSPI2 peripheral function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl = (PORT_MemMapPtr)PORTF_BASE_PTR;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[16] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS0&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[17] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[18] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SOUT&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[19] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[20] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS1&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;Was:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;/* Configure GPIOD for DSPI2 peripheral function&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl = (PORT_MemMapPtr)PORTD_BASE_PTR;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[11] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS0&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[12] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SCK&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[13] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SOUT&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[14] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.SIN&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;pctl-&amp;gt;PCR[15] = PORT_PCR_MUX(2);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* DSPI2.PCS1&amp;nbsp;&amp;nbsp; */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Aug 2016 22:02:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/K70-MQX-4-1-SPI-I-O-Drivers-Codewarrior-CW-10-6-GCC/m-p/533120#M16426</guid>
      <dc:creator>louiemoye</dc:creator>
      <dc:date>2016-08-19T22:02:45Z</dc:date>
    </item>
  </channel>
</rss>

