Hi Vladislav !
Совсем недавно 13 Jul 06 23:06, Vladislav Baliasov писал к Ruslan Mohniuc:
RM>> То есть у тебя запись- это долговременный процесс с ожиданием
RM>> события, по которому ты прервешься?
VB> Долговременный, но без ожидания. Hадо опросить датчики, полученную
VB> информацию записать в файл, после чего его закрыть. Это может занять
VB> несколько минут, а то и десятков минут, если все будет совсем плохо.
Ясно.
VB>>> Похоже, лучше будет применить
...FRAM
RM>> Сто процентов. Такое точно хорошо. FAT-то сам небольшой.
VB> Hебольшой, но целиком может не поместиться, так что тоже не все так
VB> просто.
Hу, можно и просто сектор или кластер. Hу сохраняешь один нужный кластер или
даже просто сектор (512 байт) из Фата и одну запись для дирректории (32 байта).
Собираешь его в FRAM, потом пишешь сектор в фат. Когда файл закрыт- тогда
записывешь и дирректорию.
RM>> Только нужно еще следить, чтобы за время выключения тебе носитель
RM>> в слоте не подменили, иначе глупость получится :)
VB> Hу, это само собой... По-первости мне казалось, что задача проще, но
VB> теперь уже как-то даже страшновато... И подходящих готовых решений не
VB> вижу.
Да нет тут ничего хитрого. Ты только на ассме не пиши. ;)
И посчитай заранее, какой все-таки у тебя траффик, может многие вещи и проще
можно сделать. Hу, скажем все держать просто в RAM, записывать сектор в момент
его заполнения сразу в MMC, закрывать файл раз в минуту (обновляешь FAT и
запись в дирректории). Если питание вырубили- то потеряется максимум минута.
Вытаскиваешь данные из датчика, открываешь уже имеющийся на диске файл,
продолжаешь запись в него. Удобно тем, что на карточке всегда есть все данные
кроме последней минуты, можно грубо выдернуть и пойти их смотреть на PC.
PS. Я с MMC не работал, мне CompactFlash ближе. Может, там на MMC свои
заморочки есть.
WBRgrds
Ruslan
|