реклама на сайте
подробности

 
 
> FatFs, проблема с регистром букв
*rust*
сообщение Jun 26 2011, 10:50
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335



В библиотеке от ATMEL для ARM вложена библиотека FatFs версии R0.06, решил обновить до R0.08b.

Все прошло успешно на первый взгляд, но есть одно неудобство.

В старой версии если я создавал ARMом файл на флешке 1.txt, то файл с таким именем записывался, после обновления регист букв поменялся на верхний 1.TXT, что очень не привычно и не удобно.
Пробовал в ffconf шаманить-ничего не изменилось в расширении файла опять верхний регистр.

Кто знаком с этим, подскажите как сделать нижний регистр?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
jorikdima
сообщение Jun 26 2011, 14:06
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



По-моему кодировку (_CODE_PAGE) нужно поставить не ASCII. В общем вокруг этого попробуйте покрутиться.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 26 2011, 14:51
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(*rust* @ Jun 26 2011, 14:50) *
В старой версии если я создавал ARMом файл на флешке 1.txt, то файл с таким именем записывался, после обновления регист букв поменялся на верхний 1.TXT, что очень не привычно и не удобно.

Если LFN отключено, то есть формат имени файла 8.3 - то имена будут создаваться заглавными буквами.

Попробуйте включить LFN.
Go to the top of the page
 
+Quote Post
*rust*
сообщение Jun 26 2011, 16:07
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335



Цитата
По-моему кодировку (_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) нужно добавить эти функции.

Где их брать?
Go to the top of the page
 
+Quote Post
*rust*
сообщение Jun 26 2011, 17:27
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 109
Регистрация: 19-01-11
Пользователь №: 62 335



Я закоментил эти функции за ненадобностью, и все стало нормально.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jun 26 2011, 17:37
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



У меня в версии 7e без LFN маленькие буквы, хотя никаких спец настроек не делал. А вот при переходе на 8 тоже стали большие, но я забил. Все равно откатился на 7е .
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 26 2011, 18:31
Сообщение #7


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(*rust* @ Jun 26 2011, 21:27) *
Я закоментил эти функции за ненадобностью, и все стало нормально.

Лучше снимите галку с Юникода, зачем Вам париться с ним, когда ОЕМ прекрасно подходит sm.gif

Цитата(jorikdima @ Jun 26 2011, 21:37) *
У меня в версии 7e без LFN маленькие буквы, хотя никаких спец настроек не делал. А вот при переходе на 8 тоже стали большие, но я забил. Все равно откатился на 7е .

Видимо, положено при формате 8.3 иметь верхний регистр, а не нижний, вот Чен и подправил исходники.
В принципе, мне пофигу, всё равно без LFN файловую систему не пользую.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016