Всем привет!
Взял за основу своего проекта исходники встроенного программного обеспечения EVK525 AT90USBxxx USB Mass storage с сайта Atmel. Версия используемых исходников 2.0.4 (EVK525-series6-ms_nf_df_sd-2_0_4.rar).
В изделии использую контроллер AT90USB1286 и микросхему NAND памяти HY27UF084G2B (Capacity (MB) = 512, page size = 2048, F3).
Есть такая проблема, область FAT таблицы флэш памяти затирается значениями 0xFF, после подключения устройства к USB. Либо затирается несколько секторов в области размещения данных. Это проявляется не постоянно. Правда только после записи каких-нибудь данных. Таким образом флэшка может работать неделю, а может и после первой записи данных, после извлечения и подключения оказаться неформатированной. Изделие извлекается из USB безопасно. Ясно, что происходит это на этапе выполнения функций теста памяти: nf_test_unit_ready(), nf_verify_resume(), is_nf_invalid(), nf_scan(), nf_cleanup_memory(), nf_scan(), nf_rebuild().
Эти функции выполняют поиск bad-блоков, чтение резервной области (spare-area), выполнение ремаппинга логических секторов на физические адреса блоков памяти, поиск свободных блоков и ещё ряд действий.
Не могу понять причину затирания блоков.
Кто-нибудь использовал эти исходники???