<?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>LPC MicrocontrollersのトピックSample code for LPC1347 and USB-MSD with a SD Card ?</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525414#M8050</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kanestro on Wed Dec 17 02:43:00 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hello, I am a new user of LPC processor. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I need help to write a mass storage device to read and write a sd card with fat32 ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank You&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:53:46 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:53:46Z</dc:date>
    <item>
      <title>Sample code for LPC1347 and USB-MSD with a SD Card ?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525414#M8050</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kanestro on Wed Dec 17 02:43:00 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;hello, I am a new user of LPC processor. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I need help to write a mass storage device to read and write a sd card with fat32 ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank You&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:53:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525414#M8050</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: Sample code for LPC1347 and USB-MSD with a SD Card ?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525415#M8051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gonzalo_Sipel on Wed Dec 31 06:47:10 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Kanestro, there is an example which perform a mass storage device using the internal RAM. If you Modify this example you&amp;nbsp; will be able to read and write a SD card (in theory) . I've been able to read my SD card but I haven't been able to write into it. Despite my problem, it&amp;nbsp; maybe helps you to start your code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You have to modify &lt;/SPAN&gt;&lt;STRONG&gt;SCSI_Command_ReadWrite_10()&lt;/STRONG&gt;&lt;SPAN&gt; function which is in SCSI.c file. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
&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; const bool IsDataRead)
{

.....
/* Determine if the packet is a READ (10) or WRITE (10) command, call appropriate function */
#if 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;[color=#c33]here you have to chage this for #if 1[/color]&lt;/STRONG&gt;

......

}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then you will have to modify &lt;/SPAN&gt;&lt;STRONG&gt;MassStorage_GetCapacity(void)&lt;/STRONG&gt;&lt;SPAN&gt; function so that&amp;nbsp; it can&amp;nbsp; return&amp;nbsp; SD size and you will also&amp;nbsp; have to modify &lt;/SPAN&gt;&lt;STRONG&gt;MassStorage_Write()&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp; and &lt;/SPAN&gt;&lt;STRONG&gt;MassStorage_Read()&lt;/STRONG&gt;&lt;SPAN&gt; functions to write and read blocks of your SD card.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope it helps you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:53:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525415#M8051</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: Sample code for LPC1347 and USB-MSD with a SD Card ?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525416#M8052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kanestro on Tue Jan 06 04:49:35 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Gonzalo&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks, I start to work immediately&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:53:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525416#M8052</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:53:47Z</dc:date>
    </item>
    <item>
      <title>Re: Sample code for LPC1347 and USB-MSD with a SD Card ?</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525417#M8053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Gonzalo_Sipel on Thu Jan 29 08:01:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Kanestro&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Were you able to make it work? I have done some others modifications to the usblibrary and now I can read and write my sd card from windows explorer (I've tried this on windows xp, 7, 8 and ubuntu linux) Below I show&amp;nbsp; a piece of code where I did&amp;nbsp; modifications. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope this can help you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On EndpointCommon.h file &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define USB_DATA_BUFFER_TEM_LENGTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;and I changed this to&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define USB_DATA_BUFFER_TEM_LENGTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 600&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;On Endpoint_LPC17xx.c file, DMAEndTransferISR() function &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;if ((usb_data_buffer_OUT_size[0] + tem + dmaDescriptor[PhyEP].MaxPacketSize) &amp;gt; 512)
{
USB_REG(0)-&amp;gt;DMAIntEn &amp;amp;= ~(1 &amp;lt;&amp;lt; 1);
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;and I changed this to&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;if ((usb_data_buffer_OUT_size[0] + tem + dmaDescriptor[PhyEP].MaxPacketSize) &amp;gt; 550)
{
USB_REG(0)-&amp;gt;DMAIntEn &amp;amp;= ~(1 &amp;lt;&amp;lt; 1);
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and finally on SCSI.c file, SCSI_Command_ReadWrite_10() function&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
.......
else
{
int i;
for(i=0;i&amp;lt;TotalBlocks;i++)
{
while(!Endpoint_IsReadWriteAllowed(0));

Endpoint_Read_Stream_LE(0,buffer,VIRTUAL_MEMORY_BLOCK_SIZE, NULL)

Endpoint_ClearOUT(0);
MassStorage_Write((BlockAddress+i),buffer, VIRTUAL_MEMORY_BLOCK_SIZE);

}
}......
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I changed this to&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
.......
else
{
int i;
for(i=0;i&amp;lt;TotalBlocks;i++)
{
while(!Endpoint_IsReadWriteAllowed(0));

bytes = Endpoint_BytesInEndpoint(0);

if(bytes &amp;gt; VIRTUAL_MEMORY_BLOCK_SIZE)
{
Endpoint_Read_Stream_LE(0,buffer,bytes - VIRTUAL_MEMORY_BLOCK_SIZE, NULL);
bytes = VIRTUAL_MEMORY_BLOCK_SIZE;
}


Endpoint_Read_Stream_LE(0,buffer,bytes,NULL);
Endpoint_ClearOUT(0);
MassStorage_Write((BlockAddress+i),buffer, VIRTUAL_MEMORY_BLOCK_SIZE);

}
}.......&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:53:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Sample-code-for-LPC1347-and-USB-MSD-with-a-SD-Card/m-p/525417#M8053</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:53:48Z</dc:date>
    </item>
  </channel>
</rss>

