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

 
 
 
Reply to this topicStart new topic
> Нужна помощ по uC/FS, файловая система
ubobrov
сообщение Oct 14 2005, 11:13
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз...
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 26 2005, 13:28
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(ubobrov @ Oct 14 2005, 14:13)
Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз...
*

Всё, прикрутил, но использовать небуду, тяжёлая она и тормознутая, FlashFileSD быстрее работает, хоть и криво!
Go to the top of the page
 
+Quote Post
xoms
сообщение Oct 28 2005, 04:49
Сообщение #3


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

Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67



А в чём кривизна собственно?
У меня как-то работает и ничего плохого пока.
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 05:05
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(xoms @ Oct 28 2005, 07:49)
А в чём кривизна собственно?
У меня как-то работает  и ничего плохого пока.
*

Он привинчен к uC/OS и одновременно может записываться 2 файла: один длинный, а другой короткий. Тот процесс, что пишет короткие файлы несколько раз прерывает процесс, пишущий длинные файы и у файлов получаются общие кластеры. Винда может и не открыть такие файлы, а может и открыть, от чего это зависит я не понял. Если даже она открывает все файлы без ошибок, то CHKDSK всёравно находит общие кластеры и предлагает исправить, что приводит к потере информации.
Go to the top of the page
 
+Quote Post
xoms
сообщение Oct 28 2005, 05:33
Сообщение #5


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

Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67



Да не, я про кривизну FlashFileSD от PRLLC, она к OS не привязана вовсе.
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 06:29
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(xoms @ Oct 28 2005, 08:33)
Да не, я про кривизну FlashFileSD от PRLLC, она к OS не привязана вовсе.
*

Вот в том то и кривизна, что допускает запись файлов с общими кластерами, если одновременно открыто 2 и более файла. По одному файлу FlashFileSD работает превосходно, никаких потологий!
Go to the top of the page
 
+Quote Post
xoms
сообщение Oct 28 2005, 06:51
Сообщение #7


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

Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67



Да пожалуй ты прав...
Придётся закрывать, потом открывать....
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 07:30
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(xoms @ Oct 28 2005, 09:51)
Да пожалуй ты прав...
Придётся закрывать, потом открывать....
*

Можно попробовать запрет записи одного файла, пока не обновятся кластеры другого.
Go to the top of the page
 
+Quote Post
xoms
сообщение Oct 28 2005, 10:17
Сообщение #9


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

Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67



Гм.. вобщем то кластеры обновляются после выхода из ну например
fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов.
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 11:11
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(xoms @ Oct 28 2005, 13:17)
Гм.. вобщем то кластеры обновляются после выхода из ну например
fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов.
*

Неее, надо разрешить переключение задач тогда, когда обновлены кластеры. А кластеры обновляются когда записалось SecPerClus секторов. Вот когда они обновились, тогда и можно разрешить другой задаче писать в файл, и она начнёт писать в новый кластер. А её можно прервать точно таким-же способом.
Go to the top of the page
 
+Quote Post
xoms
сообщение Oct 28 2005, 11:33
Сообщение #11


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

Группа: Свой
Сообщений: 124
Регистрация: 20-06-04
Пользователь №: 67



А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла.
Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например.
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 12:03
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



Цитата(xoms @ Oct 28 2005, 14:33)
А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла.
Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например.
*

И при переходе на новый кластер и при закрытии. А если нельзя запретить запись, то сделать этот процесс более приоритетным по отношению к другим, которым тоже надо писать в карту и не прерывать его до конца записи.
В моём случае наоборот: более преоритетный короткий процесс прерывает несколько раз менее преоритетный в момент записи.
Go to the top of the page
 
+Quote Post
ubobrov
сообщение Oct 28 2005, 12:42
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 64
Регистрация: 15-08-05
Пользователь №: 7 636



И вобще, если при каждом прерывании процесса записи принудительно записывать файл - fflush(pfile), то можно его и не закрывать, если предполагается продолжать запись в этот-же файл после прерывания, а по окончании закрыть.
В этом случае ошибок винда не обнаруживает.

Да, зря я грешил на FlashFileSD, зря...!
Go to the top of the page
 
+Quote Post

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

 


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


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