Цитата(Wano @ Jan 5 2009, 16:46)

Подобно FatFS либа EFSL также не пашет с локальными файловыми переменными.
Вот так всегда: в первую очередь "либа кривая". Почему-то у остальных "пашет", у вас нет, и виновата, конечно же, либа.
Цитата(Wano @ Jan 5 2009, 16:46)

Может что-то делаю не так
100%. Если вы объявляете переменную глобально, память под нее выделяется на этапе линковки. Если локально - она размещается на стеке. Если стека не хватает - естественно, будут затираться какие-то другие данные, на которые наползет стек. Переменная типа FIL кроме 40 байтов данных содержит еще и буфер на 512 байт. Итого 542 байта. А сколько стека у вас выделено всего?