*rust* 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба В библиотеке от ATMEL для ARM вложена библиотека FatFs версии R0.06, решил обновить до R0.08b. Все прошло успешно на первый взгляд, но есть одно неудобство. В старой версии если я создавал ARMом файл на флешке 1.txt, то файл с таким именем записывался, после обновления регист букв поменялся на верхний 1.TXT, что очень не привычно и не удобно. Пробовал в ffconf шаманить-ничего не изменилось в расширении файла опять верхний регистр. Кто знаком с этим, подскажите как сделать нижний регистр? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба По-моему кодировку (_CODE_PAGE) нужно поставить не ASCII. В общем вокруг этого попробуйте покрутиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба В старой версии если я создавал ARMом файл на флешке 1.txt, то файл с таким именем записывался, после обновления регист букв поменялся на верхний 1.TXT, что очень не привычно и не удобно. Если LFN отключено, то есть формат имени файла 8.3 - то имена будут создаваться заглавными буквами. Попробуйте включить LFN. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
*rust* 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба По-моему кодировку (_CODE_PAGE) нужно поставить не ASCII. В общем вокруг этого попробуйте покрутиться. Проовал разные варианты, не помогло. Попробуйте включить LFN. Сделал следующее: #define _CODE_PAGE 866 // Russian (OEM) #define _USE_LFN 1 /* 0 to 3 */ /* The _USE_LFN option switches the LFN support. / / 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect. / 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant. / 2: Enable LFN with dynamic working buffer on the STACK. / 3: Enable LFN with dynamic working buffer on the HEAP. / / The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN, / Unicode handling functions ff_convert() and ff_wtoupper() must be added / to the project. When enable to use heap, memory control functions / ff_memalloc() and ff_memfree() must be added to the project. */ #define _LFN_UNICODE 1 /* 0:ANSI/OEM or 1:Unicode */ /* To switch the character code set on FatFs API to Unicode, / enable LFN feature and set _LFN_UNICODE to 1. */ Заменил тип TCHAR на char. Теперь, как написано при включении _USE_LFN (Unicode handling functions ff_convert() and ff_wtoupper() must be added) нужно добавить эти функции. Где их брать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
*rust* 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба Я закоментил эти функции за ненадобностью, и все стало нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jorikdima 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба У меня в версии 7e без LFN маленькие буквы, хотя никаких спец настроек не делал. А вот при переходе на 8 тоже стали большие, но я забил. Все равно откатился на 7е . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 26 июня, 2011 Опубликовано 26 июня, 2011 · Жалоба Я закоментил эти функции за ненадобностью, и все стало нормально. Лучше снимите галку с Юникода, зачем Вам париться с ним, когда ОЕМ прекрасно подходит :) У меня в версии 7e без LFN маленькие буквы, хотя никаких спец настроек не делал. А вот при переходе на 8 тоже стали большие, но я забил. Все равно откатился на 7е . Видимо, положено при формате 8.3 иметь верхний регистр, а не нижний, вот Чен и подправил исходники. В принципе, мне пофигу, всё равно без LFN файловую систему не пользую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться