Перейти к содержанию
    

Нужна помощ по uC/FS

Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз...

Всё, прикрутил, но использовать небуду, тяжёлая она и тормознутая, FlashFileSD быстрее работает, хоть и криво!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в чём кривизна собственно?

У меня как-то работает  и ничего плохого пока.

Он привинчен к uC/OS и одновременно может записываться 2 файла: один длинный, а другой короткий. Тот процесс, что пишет короткие файлы несколько раз прерывает процесс, пишущий длинные файы и у файлов получаются общие кластеры. Винда может и не открыть такие файлы, а может и открыть, от чего это зависит я не понял. Если даже она открывает все файлы без ошибок, то CHKDSK всёравно находит общие кластеры и предлагает исправить, что приводит к потере информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да не, я про кривизну FlashFileSD от PRLLC, она к OS не привязана вовсе.

Вот в том то и кривизна, что допускает запись файлов с общими кластерами, если одновременно открыто 2 и более файла. По одному файлу FlashFileSD работает превосходно, никаких потологий!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да пожалуй ты прав...

Придётся закрывать, потом открывать....

Можно попробовать запрет записи одного файла, пока не обновятся кластеры другого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гм.. вобщем то кластеры обновляются после выхода из ну например

fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гм.. вобщем то кластеры обновляются после выхода из ну например

fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов.

Неее, надо разрешить переключение задач тогда, когда обновлены кластеры. А кластеры обновляются когда записалось SecPerClus секторов. Вот когда они обновились, тогда и можно разрешить другой задаче писать в файл, и она начнёт писать в новый кластер. А её можно прервать точно таким-же способом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла.

Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла.

Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например.

И при переходе на новый кластер и при закрытии. А если нельзя запретить запись, то сделать этот процесс более приоритетным по отношению к другим, которым тоже надо писать в карту и не прерывать его до конца записи.

В моём случае наоборот: более преоритетный короткий процесс прерывает несколько раз менее преоритетный в момент записи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

В этом случае ошибок винда не обнаруживает.

 

Да, зря я грешил на FlashFileSD, зря...!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...