Посмотрел бегло на SdFat в TZXDuino. Ключевой момент, где подкачивается буфер:
https://github.com/sadken/TZXDuino/b...tFile.cpp#L760
Кеш там - это буфер 512 байт, который используется для всего на свете. Для текущих данных, но так же и для таблиц FAT и каталогов. Это круто, но делает переделку этой библиотеки под пинг-понг буфер для данных задачей непропорционально премудрой.
Скрытый текст
Будь это мой проект, я бы эту библиотеку отправил туда, где ей место. А вместо нее взял бы адекватную, написанную без вселенских замашек. Но, пытаясь поставить себя на место Improver-a,[свернуть]
я бы плюнул и оставил эту библиотеку как есть, раз она удобна в использовании и проверена. А данные читал бы в два буфера по 256 байт, только не read(void) а сразу read(uint8_t * dst, size_t count). Вот если памяти перестанет хватать, тогда уже можно подумать, как сделать оптимальней.




Ответить с цитированием
