<?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>ColdFire/68K Microcontrollers and ProcessorsのトピックRe: MCF52223 - Serial Peripheral Interface Setup</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147220#M3395</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;For serial flash I use the code taht you can find in freescale example of LiteHttpServer or some else&lt;BR /&gt;I have connected a spansion serial flash to qspi bus and I use this code to do the initialisation.&lt;BR /&gt;If you search for example of LiteHttpserver you can find the complete code for a driver with a serial flash&lt;BR /&gt;void init_serial_flash( void )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// No delay, disable QSPI&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QDLYR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QSPI interrupt disabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QIR&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QMR[BAUD] = fsys/ / (2 × [desired QSPI_CLK baud rate])&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QMR[BAUD] = 60000000/(2*8000000)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Using 3 will yield a baud rate of 10Mhz&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QMR = (0|&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&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;QMR_MSTR_BITMASK|&lt;BR /&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;QMR_BITS(8)|&lt;BR /&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;QMR_BAUD(3)&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&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; );&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pin assignments for port QS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS6 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS5 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS4 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS3 : QSPI chip select QSPI_CS0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS2 : QSPI serial clock, QSPI_CLK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS1 : QSPI serial data input, QSPI_DIN&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS0 : QSPI serial data output, QSPI_DOUT&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS6]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS5]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS4]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS3]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS2]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS1]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS0]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS &amp;amp;= 0xF0;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR6] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR5] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR4] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR3] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR2] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR1] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR0] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR = PQSPAR_PQSPAR3(0x1) |&lt;BR /&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; PQSPAR_PQSPAR2(0x1) |&lt;BR /&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; PQSPAR_PQSPAR1(0x1) |&lt;BR /&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; PQSPAR_PQSPAR0(0x1);&lt;BR /&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;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Apr 2008 16:20:38 GMT</pubDate>
    <dc:creator>michele_darold</dc:creator>
    <dc:date>2008-04-15T16:20:38Z</dc:date>
    <item>
      <title>MCF52223 - Serial Peripheral Interface Setup</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147219#M3394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can anyone assist in the setup and use of the SPI on the 52223&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Pops&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2008 14:42:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147219#M3394</guid>
      <dc:creator>PopsStack</dc:creator>
      <dc:date>2008-04-15T14:42:04Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52223 - Serial Peripheral Interface Setup</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147220#M3395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;For serial flash I use the code taht you can find in freescale example of LiteHttpServer or some else&lt;BR /&gt;I have connected a spansion serial flash to qspi bus and I use this code to do the initialisation.&lt;BR /&gt;If you search for example of LiteHttpserver you can find the complete code for a driver with a serial flash&lt;BR /&gt;void init_serial_flash( void )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// No delay, disable QSPI&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QDLYR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QSPI interrupt disabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QIR&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QMR[BAUD] = fsys/ / (2 × [desired QSPI_CLK baud rate])&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// QMR[BAUD] = 60000000/(2*8000000)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Using 3 will yield a baud rate of 10Mhz&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QMR = (0|&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&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;QMR_MSTR_BITMASK|&lt;BR /&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;QMR_BITS(8)|&lt;BR /&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;QMR_BAUD(3)&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&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; );&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pin assignments for port QS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS6 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS5 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS4 : GPIO input&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS3 : QSPI chip select QSPI_CS0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS2 : QSPI serial clock, QSPI_CLK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS1 : QSPI serial data input, QSPI_DIN&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pin QS0 : QSPI serial data output, QSPI_DOUT&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS6]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS5]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS4]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS3]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS2]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS1]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS[DDRQS0]&amp;nbsp;&amp;nbsp; = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRQS &amp;amp;= 0xF0;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR6] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR5] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR4] = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR3] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR2] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR1] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR[PQSPAR0] = %01&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PQSPAR = PQSPAR_PQSPAR3(0x1) |&lt;BR /&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; PQSPAR_PQSPAR2(0x1) |&lt;BR /&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; PQSPAR_PQSPAR1(0x1) |&lt;BR /&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; PQSPAR_PQSPAR0(0x1);&lt;BR /&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;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2008 16:20:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147220#M3395</guid>
      <dc:creator>michele_darold</dc:creator>
      <dc:date>2008-04-15T16:20:38Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52223 - Serial Peripheral Interface Setup</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147221#M3396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;If it helps, I use the qspi on the M52221DEMO board to program the EzPort of my other boards.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The full code for that project is here:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.testardi.com/rich/coldfire/flasher.htm" rel="nofollow noopener noreferrer noopener noreferrer" target="_blank"&gt;http://www.testardi.com/rich/coldfire/flasher.htm&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Or if you're just interested in the&amp;nbsp;qspi read/write routine, it is below,&amp;nbsp;and the initialization code below that.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;// perform both output and input qspi i/ointflash_qspi(byte *buffer, int length){    int i;    int request;    while (length) {        request = MIN(length, 16);        for (i = 0; i &amp;lt; request; i++) {            // set up the command            MCF_QSPI_QAR = MCF_QSPI_QAR_CMD+i;            MCF_QSPI_QDR = MCF_QSPI_QDR_CONT;            // copy tx data to qspi ram            MCF_QSPI_QAR = MCF_QSPI_QAR_TRANS+i;            MCF_QSPI_QDR = buffer[i];        }        // set the queue pointers        assert(request);        MCF_QSPI_QWR = MCF_QSPI_QWR_ENDQP(request-1)|MCF_QSPI_QWR_NEWQP(0);        // start the transfer        MCF_QSPI_QDLYR = MCF_QSPI_QDLYR_SPE;        // wait for transfer complete        assert(! (MCF_QSPI_QIR &amp;amp; MCF_QSPI_QIR_SPIF));        while (! (MCF_QSPI_QIR &amp;amp; MCF_QSPI_QIR_SPIF)) {        }        MCF_QSPI_QIR = MCF_QSPI_QIR_SPIF;        assert((MCF_QSPI_QWR &amp;amp; 0xf0) &amp;gt;&amp;gt; 4 == request-1);        assert(! (MCF_QSPI_QDLYR &amp;amp; MCF_QSPI_QDLYR_SPE));        for (i = 0; i &amp;lt; request; i++) {            // copy rx data from qspi ram            MCF_QSPI_QAR = MCF_QSPI_QAR_RECV+i;            buffer[i] = MCF_QSPI_QDR;        }        buffer += request;        length -= request;    }    MCF_QSPI_QWR = MCF_QSPI_QWR_CSIV;}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;Initialization:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;    // QS is primary    MCF_GPIO_PQSPAR = 0x1555;    // initialize qspi master at 100k baud    assert(MASTER_FSYS/2/100000 &amp;lt; 256);    MCF_QSPI_QMR = MCF_QSPI_QMR_MSTR|/*MCF_QSPI_QMR_CPOL|MCF_QSPI_QMR_CPHA|*/MASTER_FSYS/2/100000;    MCF_QSPI_QWR = MCF_QSPI_QWR_CSIV;&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 08:48:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/MCF52223-Serial-Peripheral-Interface-Setup/m-p/147221#M3396</guid>
      <dc:creator>RichTestardi</dc:creator>
      <dc:date>2020-10-29T08:48:45Z</dc:date>
    </item>
  </channel>
</rss>

