<?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: KSDK 2.0 msc lite data receive seems to be asynchronous in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634709#M6804</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there an example for block devices out there?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 22 Sep 2016 14:07:43 GMT</pubDate>
    <dc:creator>nobodyKnows</dc:creator>
    <dc:date>2016-09-22T14:07:43Z</dc:date>
    <item>
      <title>KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634706#M6801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I modified the Demo KL26Z256/dev_composite_cdc_msc_lite_bm to work togher with a SPI flash.&lt;/P&gt;&lt;P&gt;But the demo code have a strange &lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;behavior. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;It seems that USB_DeviceRecvRequest does not receive data immediately. If I add a delay after this funktion everything works great. However what flag I have to check to know that the data receive is finished? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;usb_status_t &lt;SPAN class="token function"&gt;USB_DeviceMscRecv&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;usb_device_msc_struct_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;mscHandle&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_status_t error &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kStatus_USB_Success&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_device_lba_app_struct_t lba&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;offset &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;currentOffset&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/*bulkOutBufferSize is the application buffer size, USB_DEVICE_MSC_MAX_RECV_TRANSFER_LENGTH is the max transfer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length by the hardware,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lba.size is the data pending&amp;nbsp; for transfer ,select the minimum size to transfer ,the remaining will be transfer
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; next time*/&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;bulkOutBufferSize &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; USB_DEVICE_MSC_MAX_RECV_TRANSFER_LENGTH&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator 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; USB_DEVICE_MSC_MAX_RECV_TRANSFER_LENGTH &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; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;bulkOutBufferSize&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;size &lt;SPAN class="operator 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;mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;transferRemaining &lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;size&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;?&lt;/SPAN&gt; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;size &lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;transferRemaining&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* whichever is smaller */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;buffer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;nandGetWriteCachePtr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&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; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;currentOffset &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;totalLogicalBlockNumber&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;USB_DeviceRecvRequest&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;g_deviceComposite&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;deviceHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;bulkOutEndpoint&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;buffer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;size&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; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;i&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;i&lt;SPAN class="operator token"&gt;--&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; &lt;SPAN class="token function"&gt;nandWriteCache&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; lba&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;offset &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;//if(lba.size != 2048)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;//printf("USB Write Sector %lu Size %lu \n",lba.offset, lba.size);&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="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &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="token function"&gt;printf&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"USB Write Sector currentOffset smaller than lba\n"&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; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;needOutStallFlag &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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;outEndpointStallFlag &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&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; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;dataOutFlag &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;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;stallStatus &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint8_t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;USB_DEVICE_MSC_STALL_IN_DATA&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="token function"&gt;USB_DeviceStallEndpoint&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;g_deviceComposite&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;deviceHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; mscHandle&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;bulkOutEndpoint&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; error&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot and best regards&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maximilian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Sep 2016 09:36:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634706#M6801</guid>
      <dc:creator>nobodyKnows</dc:creator>
      <dc:date>2016-09-20T09:36:53Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634707#M6802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Maximilian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please, could you upload here whole project?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Iva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Sep 2016 13:17:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634707#M6802</guid>
      <dc:creator>ivadorazinova</dc:creator>
      <dc:date>2016-09-20T13:17:01Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634708#M6803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No sry this is not possible because the nand driver is licenced from 3th party.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 20 Sep 2016 13:55:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634708#M6803</guid>
      <dc:creator>nobodyKnows</dc:creator>
      <dc:date>2016-09-20T13:55:29Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634709#M6804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there an example for block devices out there?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2016 14:07:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634709#M6804</guid>
      <dc:creator>nobodyKnows</dc:creator>
      <dc:date>2016-09-22T14:07:43Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634710#M6805</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;Hello Maximilian,&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&lt;SPAN style="color: #000000;"&gt;In fact there is a callback to tell when the data receive is finished. In this example, you can check the status in&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;STRONG style="color: black; background: silver none repeat scroll 0% 0%; font-size: 10pt;"&gt;USB_DeviceMscBulkOut&lt;/STRONG&gt;&lt;STRONG style="color: black; font-size: 10pt;"&gt;.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;The KSDK USB stack provides a similar example, &lt;EM&gt;usb_device_composite_cdc_msc_sdcard_lite&lt;/EM&gt; , which works with SD Card instead of SPI flash. You can refer to that example as well. This example may not exist in KL26Z256 package due to the hardware limitation. However, you could get the example’s source code from some other packages, e.g. &amp;nbsp;FRDM-K64.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;In &lt;EM&gt;disk_sdcard.c,&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;It writes data to SD card in the callback &lt;/SPAN&gt;&lt;STRONG style="color: black; background: silver none repeat scroll 0% 0%; font-size: 10pt;"&gt;USB_DeviceMscBulkOut&lt;/STRONG&gt; &lt;SPAN style="color: #000000;"&gt;mentioned above.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: #005032;"&gt;usb_status_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; &lt;STRONG style="background: silver none repeat scroll 0% 0%;"&gt;USB_DeviceMscBulkOut&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #005032;"&gt;usb_device_handle&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; deviceHandle,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #005032;"&gt;usb_device_endpoint_callback_message_struct_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; *event,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10pt;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; *arg)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;…&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;…&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;…&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #3f7f5f;"&gt;/*write the data to &lt;SPAN style="text-decoration: underline;"&gt;sd&lt;/SPAN&gt; card*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10pt;"&gt;if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; (0 != event-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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&gt;&lt;STRONG style="color: #7f0055; font-size: 10pt;"&gt;if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; (&lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10pt;"&gt;kStatus_Success&lt;/EM&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; != SD_WriteBlocks(usbDeviceMscCard, event-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;buffer&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;, mscHandle-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;currentOffset&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; event-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; &amp;gt;&amp;gt; USB_DEVICE_SDCARD_BLOCK_SIZE_POWER))&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; g_deviceComposite-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;mscDisk&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #0000c0;"&gt;readWriteError&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt; = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; usb_echo(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2a00ff;"&gt;"Write error, error = 0xx%x \t Please check write request buffer size(must be less than 128 "&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #2a00ff;"&gt;"sectors)\r\n"&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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;error);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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; error = &lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10pt;"&gt;kStatus_USB_Error&lt;/EM&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&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&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps you.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Iva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Sep 2016 10:51:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634710#M6805</guid>
      <dc:creator>ivadorazinova</dc:creator>
      <dc:date>2016-09-26T10:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634711#M6806</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="" style="color: #646464; background-color: #ffffff; border: 0px; font-weight: 200; font-size: 1.286rem; padding: 0px 0px 0px 30px;"&gt;&lt;SPAN class="" style="border: 0px; font-weight: inherit; font-size: 18.004px;"&gt;Sorry&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="" style="border: 0px; font-weight: inherit; font-size: 18.004px;"&gt;Iva Dorazinova&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;but I didn't found the example "&lt;EM style="color: #000000; background-color: #ffffff; border: 0px;"&gt;usb_device_composite_cdc_msc_sdcard_lite" &amp;nbsp;&lt;/EM&gt;that you mentioned above.&lt;/P&gt;&lt;P&gt;There is a &lt;EM&gt;"composite cdc msc"&lt;/EM&gt; and a "&lt;EM&gt;msc sd card&lt;/EM&gt;" example, but&amp;nbsp;there are to many differences&amp;nbsp;between these two examples so I can't merge them together.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Sep 2016 17:11:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634711#M6806</guid>
      <dc:creator>joe_dimaggio</dc:creator>
      <dc:date>2016-09-26T17:11:01Z</dc:date>
    </item>
    <item>
      <title>Re: KSDK 2.0 msc lite data receive seems to be asynchronous</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634712#M6807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok but I cant find any part which is checking a status flag or set a callback. It looks like writing to a buffer and write to sd card just before the next request is writing to the buffer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Sep 2016 07:15:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/KSDK-2-0-msc-lite-data-receive-seems-to-be-asynchronous/m-p/634712#M6807</guid>
      <dc:creator>nobodyKnows</dc:creator>
      <dc:date>2016-09-27T07:15:17Z</dc:date>
    </item>
  </channel>
</rss>

