ubobrov 0 14 октября, 2005 Опубликовано 14 октября, 2005 · Жалоба Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 26 октября, 2005 Опубликовано 26 октября, 2005 · Жалоба Есть uC/FS, но без драйвера ММС, не представляю как туда свой драйвер прилепить. Подскажите, кто делал, плиз... <{POST_SNAPBACK}> Всё, прикрутил, но использовать небуду, тяжёлая она и тормознутая, FlashFileSD быстрее работает, хоть и криво! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xoms 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба А в чём кривизна собственно? У меня как-то работает и ничего плохого пока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба А в чём кривизна собственно? У меня как-то работает и ничего плохого пока. <{POST_SNAPBACK}> Он привинчен к uC/OS и одновременно может записываться 2 файла: один длинный, а другой короткий. Тот процесс, что пишет короткие файлы несколько раз прерывает процесс, пишущий длинные файы и у файлов получаются общие кластеры. Винда может и не открыть такие файлы, а может и открыть, от чего это зависит я не понял. Если даже она открывает все файлы без ошибок, то CHKDSK всёравно находит общие кластеры и предлагает исправить, что приводит к потере информации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xoms 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Да не, я про кривизну FlashFileSD от PRLLC, она к OS не привязана вовсе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Да не, я про кривизну FlashFileSD от PRLLC, она к OS не привязана вовсе. <{POST_SNAPBACK}> Вот в том то и кривизна, что допускает запись файлов с общими кластерами, если одновременно открыто 2 и более файла. По одному файлу FlashFileSD работает превосходно, никаких потологий! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xoms 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Да пожалуй ты прав... Придётся закрывать, потом открывать.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Да пожалуй ты прав... Придётся закрывать, потом открывать.... <{POST_SNAPBACK}> Можно попробовать запрет записи одного файла, пока не обновятся кластеры другого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xoms 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Гм.. вобщем то кластеры обновляются после выхода из ну например fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба Гм.. вобщем то кластеры обновляются после выхода из ну например fputc. И если fputc защитить от переключения задач, то писать можно одновременно хоть в несколько файлов. <{POST_SNAPBACK}> Неее, надо разрешить переключение задач тогда, когда обновлены кластеры. А кластеры обновляются когда записалось SecPerClus секторов. Вот когда они обновились, тогда и можно разрешить другой задаче писать в файл, и она начнёт писать в новый кластер. А её можно прервать точно таким-же способом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xoms 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла. Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба А кластеры обновляются что-ли при переходе на новый кластер или как раз при закрытии файла. Запретить запись в новый файл нельзя, если идёт потоковая запись - буфер негде хранить например. <{POST_SNAPBACK}> И при переходе на новый кластер и при закрытии. А если нельзя запретить запись, то сделать этот процесс более приоритетным по отношению к другим, которым тоже надо писать в карту и не прерывать его до конца записи. В моём случае наоборот: более преоритетный короткий процесс прерывает несколько раз менее преоритетный в момент записи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ubobrov 0 28 октября, 2005 Опубликовано 28 октября, 2005 · Жалоба И вобще, если при каждом прерывании процесса записи принудительно записывать файл - fflush(pfile), то можно его и не закрывать, если предполагается продолжать запись в этот-же файл после прерывания, а по окончании закрыть. В этом случае ошибок винда не обнаруживает. Да, зря я грешил на FlashFileSD, зря...! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться