<?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 FAQsのトピックHow to enable &amp;quot;Long File Name&amp;quot; support in FAT file system included with LPCOpen?</title>
    <link>https://community.nxp.com/t5/LPC-FAQs/How-to-enable-quot-Long-File-Name-quot-support-in-FAT-file/m-p/461848#M4</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1 id="toc-hId-1903931694" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Summary&lt;/H1&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;LPCOpen uses &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2F00index_e.html" rel="nofollow noopener noreferrer" target="_blank"&gt;ChanFatFS&lt;/A&gt; to support FAT File system in examples like SDMMC and other examples that needs file system support. The package is supplied with the default configuration (without any modifications to the configuration files). If users want to modify any configuration parameters it is recommended to consult the documentation pages at this &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2F00index_e.html" rel="nofollow noopener noreferrer" target="_blank"&gt;link&lt;/A&gt; to understand how a configuration change might affect the behavior of the filesystem. Moreover LFN is a &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fen.swpat.org%2Fwiki%2FMicrosoft_FAT_patents" rel="nofollow noopener noreferrer" target="_blank"&gt;patent owned by Microsoft&lt;/A&gt; and may be that is the reason &lt;SPAN style="font-weight: bold;"&gt;elm-chan.org&lt;/SPAN&gt; decided not to enable it in the default configuration. If users want to enable unicode support they can read the documents &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2Fen%2Ffilename.html" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt; to know information on how to do that.&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The documentation provided &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2Fen%2Fappnote.html%23lfn" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt; provides information about enabling the LFN support. According to this document to enable LFN the user must implement the functions &lt;STRONG&gt;ff_convert&lt;/STRONG&gt;and &lt;STRONG&gt;ff_wtoupper&lt;/STRONG&gt; these functions could be found inside (&lt;SPAN style="font-weight: bold;"&gt;software\filesystems\fatfs\src\ccsbcs.c&lt;/SPAN&gt;) of the LPCOpen package. Adding it to the projects that uses FATFS or implementing these functions inside the application/example area can get the first step of LFN support done.&lt;/P&gt;&lt;H1 id="toc-hId--648225267" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Enabling Long File Name support&lt;/H1&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The following steps will provide details on how to enable the long file name support in LPCOpen projects that uses FAT Filesystem&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;Implement a simple conversion function [sample code given below could be used as is] (This will be helpful for users that does not use UNICODE, and want to reduce the size of the generated binary)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;WCHAR ff_convert (WCHAR wch, UINT dir) 
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wch &amp;lt; 0x80) { 
&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; /* ASCII Char */ 
&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; return wch; 
&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; /* I don't support unicode it is too big! */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0; 
}&amp;nbsp; 

WCHAR ff_wtoupper (WCHAR wch) 
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wch &amp;lt; 0x80) {&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; /* ASCII Char */ 
&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; if (wch &amp;gt;= 'a' &amp;amp;&amp;amp; wch &amp;lt;= 'z') { 
&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; wch &amp;amp;= ~0x20; 
&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; return wch; 
&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; /* I don't support unicode it is too big! */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0; 
} &lt;/PRE&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;Enable the LFN support by (defining &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px; font-weight: bold;"&gt;_USE_LFN&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt; as 1 in &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;STRONG&gt;software\filesystems\fatfs\src\ffconf.h&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;, It is recommended to leave &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px; font-weight: bold;"&gt;_LFN_UNICODE&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt; as the default 0) [Unless you want unicode filename support]&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;#define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _USE_LFN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &lt;/PRE&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;That is it, now the following should work fine&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;f_open(&amp;amp;Fil, "New_Text_Document.html", FA_READ); &lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1 id="toc-hId-1094585068" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Listing files that does not follow 8.3 file name format&lt;/H1&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The following code segment will show how to list files with long file names&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;static TCHAR lfname[_MAX_LFN]; &lt;/PRE&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt; result = f_opendir(&amp;amp;dir, ""); 
/* Check result for errors */ 

printf("Directory listing...\r\n"); 
for (;; ) { 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fno.lfname = lfname; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fno.lfsize = _MAX_LFN - 1; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read a directory item */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc = f_readdir(&amp;amp;dir, &amp;amp;fno); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rc || !fno.fname[0]) { 
&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;&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; /* Error or end of dir */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } if (fno.fattrib &amp;amp; AM_DIR) { 
&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; sprintf(debugBuf, "&amp;nbsp;&amp;nbsp; [dir]&amp;nbsp; %s\r\n", fno.lfname[0] ? fno.lfname : fno.fname); 
&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; else { 
&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; sprintf(debugBuf, "&amp;nbsp;&amp;nbsp; %8lu&amp;nbsp; %s\r\n", fno.fsize, fno.lfname[0] ? fno.lfname : fno.fname); 
&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(debugBuf); 
}&lt;/PRE&gt;&lt;P class="fivestar-static-form-item"&gt;&lt;/P&gt;&lt;DIV class="form-item"&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Mar 2016 23:42:37 GMT</pubDate>
    <dc:creator>lpcware-support</dc:creator>
    <dc:date>2016-03-30T23:42:37Z</dc:date>
    <item>
      <title>How to enable "Long File Name" support in FAT file system included with LPCOpen?</title>
      <link>https://community.nxp.com/t5/LPC-FAQs/How-to-enable-quot-Long-File-Name-quot-support-in-FAT-file/m-p/461848#M4</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1 id="toc-hId-1903931694" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Summary&lt;/H1&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;LPCOpen uses &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2F00index_e.html" rel="nofollow noopener noreferrer" target="_blank"&gt;ChanFatFS&lt;/A&gt; to support FAT File system in examples like SDMMC and other examples that needs file system support. The package is supplied with the default configuration (without any modifications to the configuration files). If users want to modify any configuration parameters it is recommended to consult the documentation pages at this &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2F00index_e.html" rel="nofollow noopener noreferrer" target="_blank"&gt;link&lt;/A&gt; to understand how a configuration change might affect the behavior of the filesystem. Moreover LFN is a &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fen.swpat.org%2Fwiki%2FMicrosoft_FAT_patents" rel="nofollow noopener noreferrer" target="_blank"&gt;patent owned by Microsoft&lt;/A&gt; and may be that is the reason &lt;SPAN style="font-weight: bold;"&gt;elm-chan.org&lt;/SPAN&gt; decided not to enable it in the default configuration. If users want to enable unicode support they can read the documents &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2Fen%2Ffilename.html" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt; to know information on how to do that.&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The documentation provided &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felm-chan.org%2Ffsw%2Fff%2Fen%2Fappnote.html%23lfn" rel="nofollow noopener noreferrer" target="_blank"&gt;here&lt;/A&gt; provides information about enabling the LFN support. According to this document to enable LFN the user must implement the functions &lt;STRONG&gt;ff_convert&lt;/STRONG&gt;and &lt;STRONG&gt;ff_wtoupper&lt;/STRONG&gt; these functions could be found inside (&lt;SPAN style="font-weight: bold;"&gt;software\filesystems\fatfs\src\ccsbcs.c&lt;/SPAN&gt;) of the LPCOpen package. Adding it to the projects that uses FATFS or implementing these functions inside the application/example area can get the first step of LFN support done.&lt;/P&gt;&lt;H1 id="toc-hId--648225267" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Enabling Long File Name support&lt;/H1&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The following steps will provide details on how to enable the long file name support in LPCOpen projects that uses FAT Filesystem&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;Implement a simple conversion function [sample code given below could be used as is] (This will be helpful for users that does not use UNICODE, and want to reduce the size of the generated binary)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;WCHAR ff_convert (WCHAR wch, UINT dir) 
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wch &amp;lt; 0x80) { 
&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; /* ASCII Char */ 
&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; return wch; 
&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; /* I don't support unicode it is too big! */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0; 
}&amp;nbsp; 

WCHAR ff_wtoupper (WCHAR wch) 
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (wch &amp;lt; 0x80) {&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; /* ASCII Char */ 
&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; if (wch &amp;gt;= 'a' &amp;amp;&amp;amp; wch &amp;lt;= 'z') { 
&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; wch &amp;amp;= ~0x20; 
&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; return wch; 
&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; /* I don't support unicode it is too big! */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0; 
} &lt;/PRE&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;Enable the LFN support by (defining &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px; font-weight: bold;"&gt;_USE_LFN&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt; as 1 in &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;STRONG&gt;software\filesystems\fatfs\src\ffconf.h&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;, It is recommended to leave &lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px; font-weight: bold;"&gt;_LFN_UNICODE&lt;/SPAN&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt; as the default 0) [Unless you want unicode filename support]&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;#define&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _USE_LFN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &lt;/PRE&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;&lt;SPAN style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;That is it, now the following should work fine&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;f_open(&amp;amp;Fil, "New_Text_Document.html", FA_READ); &lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1 id="toc-hId-1094585068" style="font-size: 26px; font-weight: 400; color: #333333; font-family: Lato, sans-serif;"&gt;Listing files that does not follow 8.3 file name format&lt;/H1&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #646464; font-family: Arial, sans-serif; font-size: 14px;"&gt;The following code segment will show how to list files with long file names&lt;/P&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt;static TCHAR lfname[_MAX_LFN]; &lt;/PRE&gt;&lt;PRE class="bb-code-block" style="font-family: monospace, serif; font-size: 14px; padding: 10px; color: #646464; background: #efefef;"&gt; result = f_opendir(&amp;amp;dir, ""); 
/* Check result for errors */ 

printf("Directory listing...\r\n"); 
for (;; ) { 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fno.lfname = lfname; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fno.lfsize = _MAX_LFN - 1; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read a directory item */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rc = f_readdir(&amp;amp;dir, &amp;amp;fno); 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rc || !fno.fname[0]) { 
&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;&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; /* Error or end of dir */ 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } if (fno.fattrib &amp;amp; AM_DIR) { 
&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; sprintf(debugBuf, "&amp;nbsp;&amp;nbsp; [dir]&amp;nbsp; %s\r\n", fno.lfname[0] ? fno.lfname : fno.fname); 
&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; else { 
&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; sprintf(debugBuf, "&amp;nbsp;&amp;nbsp; %8lu&amp;nbsp; %s\r\n", fno.fsize, fno.lfname[0] ? fno.lfname : fno.fname); 
&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(debugBuf); 
}&lt;/PRE&gt;&lt;P class="fivestar-static-form-item"&gt;&lt;/P&gt;&lt;DIV class="form-item"&gt;&lt;P&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Mar 2016 23:42:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-FAQs/How-to-enable-quot-Long-File-Name-quot-support-in-FAT-file/m-p/461848#M4</guid>
      <dc:creator>lpcware-support</dc:creator>
      <dc:date>2016-03-30T23:42:37Z</dc:date>
    </item>
  </channel>
</rss>

