<?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>Kinetis Microcontrollers中的主题 Re: USB Mass Storage Host - speed</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242849#M6072</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;512 bytes packet size was default setting in my msd_mfs_generic_test project.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 Apr 2013 08:52:09 GMT</pubDate>
    <dc:creator>martindusek</dc:creator>
    <dc:date>2013-04-29T08:52:09Z</dc:date>
    <item>
      <title>USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242843#M6066</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 get only 25 kb/s transfer speed from TWR-K70 (full speed usb module used) to 2GB Flash stick (FAT32, 512 b allocation unit). Several different sticks used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My program is derived from msd_mfs_generic_test - no changes made to the project, only transfer speed benchmark added to it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The transfer speed is measured at disk_write() function - its takes 20 ms to execute it. Every call writes one sector (512) so the transfer speed is 25 kb/s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have no clue how to speed it up...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 14:53:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242843#M6066</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2013-03-27T14:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242844#M6067</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nobody has problems with such a lazy USB mass storage host? We need to transfer a huge amount of data and with 25 kb/s speed it will last a century.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please provide some tips how to tune the host to achieve at least 100 kb/s?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Apr 2013 09:48:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242844#M6067</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2013-04-02T09:48:53Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242845#M6068</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is very likely that the cache policy of your FAT is “write through”, and this will result many FAT flush which decrease the data rate very much. Please change it to "write back" using iotcl(mfs, IO_IOCTL_SET_FAT_CACHE_MODE, &amp;amp;para) with para = MFS_WRITE_BACK_CACHE. I tested this on twrk60d100m, the write speed got much faster, 100KB/s vs 25KB/s. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2013 05:24:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242845#M6068</guid>
      <dc:creator>JerryFan</dc:creator>
      <dc:date>2013-04-11T05:24:45Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242846#M6069</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm quite sure, that my problem is not caused with the cache policy. I have to repeat, that I measure speed of disk_write() function - it takes 20 ms to execute it. As it writes buffers of 512 bytes, I can't ever get speed faster than 512/0.02 = 25kb/s.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please can you provide your project with complete source code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2013 05:40:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242846#M6069</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2013-04-12T05:40:30Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242847#M6070</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm having the same issue but haven't even gotten the 512 byte packets to work. I'm using the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C:\Freescale\MQX\4.0\usb\device\examples\msd&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example also on the TWR-K70. I'm only seeing 7ish kb/s and also see data loss. I want to reliably (and faster than 20+ minutes) upload a firmware file on about 10MB. I tried the &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;MFS_WRITE_BACK_CACHE&lt;/SPAN&gt; mode and IO_IOCTL_FAT_CACHE_ON ioctl modes which didn't improve my rate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How did you get to 512 packet size? I tried to edit the usb_descriptor.h file to enable it but was not able to get the USB to enumerate anymore.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 19:08:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242847#M6070</guid>
      <dc:creator>niallmcnamara</dc:creator>
      <dc:date>2013-04-26T19:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242848#M6071</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh and I'm trying to write to an SD card.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Apr 2013 19:08:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242848#M6071</guid>
      <dc:creator>niallmcnamara</dc:creator>
      <dc:date>2013-04-26T19:08:30Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242849#M6072</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;512 bytes packet size was default setting in my msd_mfs_generic_test project.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Apr 2013 08:52:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242849#M6072</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2013-04-29T08:52:09Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242850#M6073</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chongbin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the MFS_USB example from MQX. How to understand the present or default cache policy for FAT? If I want to modify it to WRITE_BACK how to change it?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Praveen&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Oct 2013 05:04:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242850#M6073</guid>
      <dc:creator>praveenhegde</dc:creator>
      <dc:date>2013-10-24T05:04:42Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242851#M6074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chongbin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using kinetis MK60FX512VLQ12 controller, CW10.6 and MQX4.1.&lt;/P&gt;&lt;P&gt;For USB I have checked the FAT cache policy is "write through" as you said but how to change it to "write back" to increase speed.&lt;/P&gt;&lt;P&gt;I have checked but didn't get in which file I have to change it.&lt;/P&gt;&lt;P&gt;Please let me know where I have to change "write through" to "write back".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2015 12:11:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242851#M6074</guid>
      <dc:creator>ava</dc:creator>
      <dc:date>2015-02-23T12:11:55Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242852#M6075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/TonyLiu"&gt;TonyLiu&lt;/A&gt;, could you help on this, please?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Feb 2015 02:55:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242852#M6075</guid>
      <dc:creator>JerryFan</dc:creator>
      <dc:date>2015-02-26T02:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: USB Mass Storage Host - speed</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242853#M6076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;For changing the “write through” to “write back” in MQX4.1&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="0" cellspacing="0" style="border: none;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="1313"&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp; typedef enum {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; MFS_WRITE_THROUGH_CACHE=0,&amp;nbsp;&amp;nbsp;&amp;nbsp; // No write caching (only read caching)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; MFS_MIXED_MODE_CACHE=1,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Write Caching allowed on file write only&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; MFS_WRITE_BACK_CACHE=2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Write Caching fully enabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;} _mfs_cache_policy;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;For the example mfs_usb in the path “mfs\examples\mfs_usb”:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;You can change the file USB_File.c line 300.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;From&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="0" cellspacing="0" style="border: none;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="1240"&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; msd_dev_data-&amp;gt;FS_FD_PTR[part] = msd_assign_drive_letter(msd_dev_data-&amp;gt;PM_FD_PTR[part], msd_dev_data-&amp;gt;FS_NAME[part], mountp);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (msd_dev_data-&amp;gt;FS_FD_PTR[part] != NULL) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; printf("Partition %d installed as %s\n", part, msd_dev_data-&amp;gt;FS_NAME[part]);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&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;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;To&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE border="1" cellpadding="0" cellspacing="0" style="border: none;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0 5.4pt 0 5.4pt;" valign="top" width="1298"&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; msd_dev_data-&amp;gt;FS_FD_PTR[part] = msd_assign_drive_letter(msd_dev_data-&amp;gt;PM_FD_PTR[part], msd_dev_data-&amp;gt;FS_NAME[part], mountp);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (msd_dev_data-&amp;gt;FS_FD_PTR[part] != NULL) {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&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; printf("Partition %d installed as %s\n", part, msd_dev_data-&amp;gt;FS_NAME[part]);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: red;"&gt; _mfs_cache_policy param = MFS_WRITE_BACK_CACHE;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: red;"&gt; _io_ioctl(msd_dev_data-&amp;gt;FS_FD_PTR[part], IO_IOCTL_SET_FAT_CACHE_MODE, &amp;amp;param);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: red;"&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; _io_ioctl(msd_dev_data-&amp;gt;FS_FD_PTR[part], IO_IOCTL_WRITE_CACHE_ON, NULL);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&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;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Feb 2015 10:08:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-Mass-Storage-Host-speed/m-p/242853#M6076</guid>
      <dc:creator>MarkWangChinese</dc:creator>
      <dc:date>2015-02-26T10:08:42Z</dc:date>
    </item>
  </channel>
</rss>

