<?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: SDHC - How to properly terminate a Multi-Sector Read in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838393#M50650</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried Auto-CMD12 and manually issuing CMD12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eitherway -&amp;nbsp;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;SDHC_PRSSTAT has the following flags set:&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;CDIHB&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;RTA - this flag is why CDIHB is set&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;As long as the CDIHB flag is set - you can not execute another read command - dead!&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;So, the question is - how to exit CMD18 (multi-block read) with either auto-CMD12 or manual CMD12 and clear the RTA flag in&amp;nbsp;&lt;SPAN&gt;SDHC_PRSSTAT since THAT is what is setting the&amp;nbsp;CDIHB flag.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The manual says the the TRA flag is set as long as data has not been removed from the SDHC controller - which makes sense since the card was sending data as CMD12 was executed.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Turns out - the following works&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;while(1)&lt;BR /&gt; {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(SDHC_IRQSTAT &amp;amp; SDHC_IRQSTAT_TC_MASK)&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;break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(SDHC_PRSSTAT &amp;amp; SDHC_PRSSTAT_RTA_MASK)&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;r = SDHC_DATPORT;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Keep reading data from the SDHC as long as the RTA is set and then exit once TC is set.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;I've timed the above while loop at 32 usec.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The picture below shows a File read request from FatFS.&amp;nbsp; Since the data from the card is NOT on sd card sector boundaries, FatFS needs to make a single SD read, followed by a Multi-Block, followed by a single SD read.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The traces shown have the actual read operation active LO.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;You can see the first and last single SD read with a multi-block read in the middle.&amp;nbsp; The second trace shows the while loop stated above which ends the multi-block read.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Hope this helps someone else.&amp;nbsp; NXP/Freescale does NOT have any documentation in the K64 Reference Manual on how to properly recover from using the Auto-CMD12 feature of the SDHC controller.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="SD Read.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/66062i511F529B6FDF5C18/image-size/large?v=v2&amp;amp;px=999" role="button" title="SD Read.png" alt="SD Read.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 22 Jul 2018 13:52:35 GMT</pubDate>
    <dc:creator>JHinkle</dc:creator>
    <dc:date>2018-07-22T13:52:35Z</dc:date>
    <item>
      <title>SDHC - How to properly terminate a Multi-Sector Read</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838391#M50648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've implemented Multi-Sector read - CMD18&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm not using the AutoCmd12 capability because I could never get it to work so I want to understand and implement it the manual way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My understanding is that CMD18 is issued and the card starts dumping sectors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I set&amp;nbsp;SDHC_BLKATTR to the the number of sectors and 512 bytes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read 512 byte blocks until I have acquired the number of wanted sectors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I issue a CMD12 to tell the card to stop sending data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NOW - my issue - I can't get the SDHC to report data transfer complete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SDHC_PRSSTAT never has&amp;nbsp;SDHC_PRSSTAT_RTA_MASK,&amp;nbsp; SDHC_PRSSTAT_DLA_MASK, or SDHC_PRSSTAT_CDIHB_MASK as ZERO --- always showing the data transfer incomplete.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried dummy reads after CMD12 -- that works sometime - but not always.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone please identify the proper code to manually terminate CMD18?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jul 2018 00:11:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838391#M50648</guid>
      <dc:creator>JHinkle</dc:creator>
      <dc:date>2018-07-22T00:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: SDHC - How to properly terminate a Multi-Sector Read</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838392#M50649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think that this behavior is normal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the uTasker project I use the following (comments should make it clear why it escapes the loop):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;SDHC_IRQSTAT &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; SDHC_IRQSTAT_TC&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&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; &lt;SPAN class="comment token"&gt;// wait for transfer to complete&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;SDHC_PRSSTAT &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; SDHC_PRSSTAT_CCIHB&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&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;SPAN class="comment token"&gt;// during block reads the data inhibit remains set and we use it to continue&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;break&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jul 2018 02:47:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838392#M50649</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-07-22T02:47:31Z</dc:date>
    </item>
    <item>
      <title>Re: SDHC - How to properly terminate a Multi-Sector Read</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838393#M50650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried Auto-CMD12 and manually issuing CMD12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eitherway -&amp;nbsp;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;SDHC_PRSSTAT has the following flags set:&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;CDIHB&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;RTA - this flag is why CDIHB is set&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;As long as the CDIHB flag is set - you can not execute another read command - dead!&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;So, the question is - how to exit CMD18 (multi-block read) with either auto-CMD12 or manual CMD12 and clear the RTA flag in&amp;nbsp;&lt;SPAN&gt;SDHC_PRSSTAT since THAT is what is setting the&amp;nbsp;CDIHB flag.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The manual says the the TRA flag is set as long as data has not been removed from the SDHC controller - which makes sense since the card was sending data as CMD12 was executed.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Turns out - the following works&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;while(1)&lt;BR /&gt; {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(SDHC_IRQSTAT &amp;amp; SDHC_IRQSTAT_TC_MASK)&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;break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(SDHC_PRSSTAT &amp;amp; SDHC_PRSSTAT_RTA_MASK)&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;r = SDHC_DATPORT;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Keep reading data from the SDHC as long as the RTA is set and then exit once TC is set.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;I've timed the above while loop at 32 usec.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The picture below shows a File read request from FatFS.&amp;nbsp; Since the data from the card is NOT on sd card sector boundaries, FatFS needs to make a single SD read, followed by a Multi-Block, followed by a single SD read.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;The traces shown have the actual read operation active LO.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;You can see the first and last single SD read with a multi-block read in the middle.&amp;nbsp; The second trace shows the while loop stated above which ends the multi-block read.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;Hope this helps someone else.&amp;nbsp; NXP/Freescale does NOT have any documentation in the K64 Reference Manual on how to properly recover from using the Auto-CMD12 feature of the SDHC controller.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="SD Read.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/66062i511F529B6FDF5C18/image-size/large?v=v2&amp;amp;px=999" role="button" title="SD Read.png" alt="SD Read.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;P&gt;&lt;CODE style="border: 0px; font-weight: inherit;"&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Jul 2018 13:52:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SDHC-How-to-properly-terminate-a-Multi-Sector-Read/m-p/838393#M50650</guid>
      <dc:creator>JHinkle</dc:creator>
      <dc:date>2018-07-22T13:52:35Z</dc:date>
    </item>
  </channel>
</rss>

