Цитата(jorikdima @ Sep 2 2008, 08:44)

в итоге проблема решилась заменой флешки

вместо 128 меговой микро взял 1 Гб. Насколько я увидел там другой размер кластера и как-то все заработало, хотя так толком и не понял в чем была проблема...
Работает с любым размером флешки и кластеров на ней. Проверялось "электроникой" в диапазоне от 16M до 4G и разным форматированием. Сдается мне, что Вы небрежно с собственно железом работаете

Цитата
совершенно не ожиданно, когда запись длится заметно больше, вплоть до 120 тиков. Случается это не с какой-то периодичностью, а случайно.
Флешка немножко живет своей жизнью

. Просто поставьте контроль за заметным превышением времени ожидания готовности - увидите. Естественно и переходы другому кластеру за пределами фрагмента FAT таблицы загруженной в текущий 512B буфер, тоже задержку (записали текущий-загрузили новый фрагмент FAT) вызывают. При дефрагментации - может происходить при записи каждого кластера

Цитата
Кстати тактируется она частотой около 800 кГц.
Ну оооочень медленно, а зачем??? Это ведь не только скорость передачи по SPI - при ожидании готовности Вы на самом деле тактируете контролер флешки, а он получая вместо обычных (точнее спрашивайте у самой SD) 25MHz килогерцы еле шевелится...