tonyk_av 45 12 марта, 2023 Опубликовано 12 марта, 2023 (изменено) · Жалоба Коллеги! Есть микросхема W25Qxxx, есть МК. Вопрос: как МК определить, что на микросхеме уже существует какая-то из разновидностей FAT? То же самое и с SD-card. Работа идёт через библиотеку FATFS. Что-где прочитать, чтобы точно знать, что FAT там уже есть и вызывать f_mkfs() не_нужно. Изменено 12 марта, 2023 пользователем tonyk_av Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 12 марта, 2023 Опубликовано 12 марта, 2023 · Жалоба 24 minutes ago, tonyk_av said: Вопрос: как МК определить, что на микросхеме уже существует какая-то из разновидностей FAT? Прочитать самый первый сектор, если BOOT сектор находится именно там. 25 minutes ago, tonyk_av said: Что-где прочитать, чтобы точно знать, что FAT там уже есть и вызывать f_mkfs() не_нужно. я вот так делал в одном из проектов (под Keil MDK): #include <rl_fs.h> constexpr auto driveName = "R0:"; // External SPI Flash 25Qxxx constexpr auto settingsFileName = "settings.json"; auto result = finit(driveName); result = fmount(driveName); if (result == fsNoFileSystem) { result = fformat(driveName, ""); FILE * file = fopen(settingsFileName, "w"); if (file != NULL) { fprintf(file, settingsFileDefault); fclose(file); funmount(driveName); funinit(driveName); NVIC_SystemReset(); } } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 45 13 марта, 2023 Опубликовано 13 марта, 2023 · Жалоба 9 hours ago, Forger said: result = fmount(driveName); То есть просто попытаться смонтировать, и если получилось, то файловая система там есть. Я правильно понял? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 13 марта, 2023 Опубликовано 13 марта, 2023 (изменено) · Жалоба 4 минуты назад, tonyk_av сказал: Я правильно понял? да, но могут быть нюансы. скорее, если вы попытались смонтировать и получили FR_NO_FILESYSTEM, то файловой системы там точно нет Изменено 13 марта, 2023 пользователем tgruzd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 26 13 марта, 2023 Опубликовано 13 марта, 2023 · Жалоба 4 hours ago, tonyk_av said: То есть просто попытаться смонтировать, и если получилось, то файловая система там есть. Я правильно понял? Не использую fatfs, не знаю как там, поэтому лучше см. описание подобных функций в документации на нее. Возможно, там сделано аналогично. В вашем случае бут сектор может находится не в самом первом секторе микросхемы, там может находится нестандартная файловая система, да и вообще там может быть угодно. Попытка отформатировать такую память приведет к потере того, что там было до этого! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться