Я пишу встроенную систему, в которой я создаю драйвер запоминающего устройства USB, который использует 8 МБ ОЗУ в качестве файловой системы FAT.
Хотя в то время имело смысл позволить ОС взять мою обнуленную область ОЗУ и отформатировать сам раздел FAT, я столкнулся с проблемами, которые я диагностирую с помощью Яна Аксельсона (популярного автора книг о USB) форум PORTS. Проблема связана со стиранием блоков на накопителе, и ее можно обойти, предварительно отформатировав область памяти в файловую систему FAT перед перечислением USB. Затем я мог видеть, будет ли привод работать нормально. В идеале предварительно отформатированный раздел должен содержать файл для проверки операции чтения.
Было бы неплохо, если бы я мог каким-то образом создать и смонтировать фиктивную файловую систему FAT размером 8 МБ в моей ОС (OSX), записать в нее файл и экспортировать его в файл образа для включения в мой проект. Кто-нибудь знает, как это сделать? Я мог справиться с остальным. Меня не слишком беспокоит, будет ли это FAT12/16/32 на данный момент, было бы неплохо добавить дополнительное MBR.
Если эта опция не существует, я хочу использовать предварительно написанную утилиту для создания файла FAT img, который я мог бы включить в свой проект и загрузить непосредственно в ОЗУ. эта утилита позволит мне, например, указать файловую систему размером 8 МБ с 512-байтовыми секторами и, возможно, FAT12/FAT16/FAT32.
Кто-нибудь знает о такой утилите? Я не смог найти ни одного.
Если нет, может ли кто-нибудь порекомендовать первый шаг для реализации этого на C? Я надеюсь, что библиотека существует. Я очень устал после внедрения драйвера запоминающего устройства с нуля, но я понимаю, что мне, возможно, придется «сморщиться» и вручную создать раздел FAT. Это не так уж сложно. Я представляю некоторые упакованные структуры и некоторые опции. Я приеду. У меня уже есть ресурсы в самой файловой системе FAT.