Использовал в проекте SPI Flash память
SST26VF064BT-104I/SM. Эта микросхема фирмы Microchip качественно отличается от привычной всем Winbond W25Q64xxx. Она значительно быстрее Винбонда в части стирания страниц и чипа вообще. Кроме этого, в ней есть ещё другие функции, которые на самом деле нафиг не нужны в 99% случаев.

НО!
В новом проекте заложил эту память и сначала обрадовался - работает быстро. В проекте используется файловая система Littlefs. После записи 5-7 файлов файловая система переходила в состояние "Только чтение" и всё - дальше только форматирование и опять запись не более чем 5-7 файлов (в зависимости от размера).
Код:
Corrupted dir pair at {0x1, 0x0}
Две недели мучений привели к источнику ошибки - это микросхема памяти. Нет возможности (и желания, честно говоря тоже) выяснить, это проблема только той партии микросхем, что попали ко мне, или это системный баг, но это так.
При определенных обстоятельствах микросхема перестает читаться. Вот, как это выглядит:
Стирание сектора занимает 18 мс. А через 56 мс после стирания сектора микросхема перестает читаться.Файл логического анализатора прикрепляю.
Вложение:
Комментарий к файлу: Файл логического анализазтора DS-Logic
bad_write_file.zip [257.16 KiB]
Скачиваний: 62
Вы можете его просмотреть даже, если у вас нет такого анализатора, достаточно установить программу по ссылке ниже.
Итого:Почему так происходит, можно ли это как-то обойти - неизвестно. Принято решение отказаться от использования этих микросхем в пользу старого доброго Winbond.
Если вдруг кто сталкивался с таким же поведением и понимает, что это такое, напишите в комментариях.
Ссылки:
https://static.chipdip.ru/lib/706/DOC011706364.pdfhttps://github.com/littlefs-project/littlefshttps://www.dreamsourcelab.com/download/