Вероятно, это более сложно, и лучшее решение, как советовал @sbass, даже если вы решите изменить файловую систему.Вам нужно точно определить, где и почему возникла задержка, прежде чем обвинять uALFAT.
Однако для записи я успешно использовал ELM FatFs и его сокращение ELMPetit FatFs , а также EFSL .
Что касается задержки, в то время как, например, с помощью ELM я достиг скорости записи до 300 кбит / с с использованием SPI (скоростьв значительной степени зависит от карты, и скорость может варьироваться от 30 кбит / с до 1 Мбит / с), я не смог успешно использовать ее для записи потока данных 96 кбит / с в течение любого продолжительного периода времени, даже с оптимизированным буферомразмеры (кратные размеру сектора) и очередь в 50 кбит из 512 байтовых секторов.Это было не из-за библиотеки, а скорее из-за SD-карты, которая, очевидно, на границах 1 Мбит, остановилась бы на 128 миллисекунд, что было достаточно для исчерпания буферизации, предоставляемой очередью.Решение, конечно, состоит в том, чтобы увеличить буферизацию, как сказал @sbas, но в этом случае общий объем системной памяти составлял всего 64 кбит, так что это было невозможно.
Если вы можете бросить память и задачу RTOS (возможно, собственный SYS / BIOS от TI в вашем случае) на проблему, вы должны иметь возможность работать с библиотекой, которая у вас есть.Объем необходимой оперативной памяти зависит от скорости передачи данных и от того, работает ли она непрерывно или непрерывно.