Добрый вечер! Работаю с платой STM32F4DISCOVERY, по SPI2 подключил плату enc28j60.
Разрабатываю в IAR'е. Прикрепил билиотеку FATFS, и как-то непонятно работает. Из-за возможной нехватки памяти возникала ошибка, я сделал на PETIT FS, которая гораздо меньше и всё равно таже ошибка!!:(:(
Вот что я снял в дизассемблере:
До HardFault_Handler:
После:
Уходит в HardFault_Handlerif (fmt) return FR_NO_FILESYSTEM;
может конечно этой информации малова-то, но всё же...
Помогите с этой проблемой товарищи!
Oxford писал(а):Неверный FAT раздел что ли возвращает?
Спасибо за внимание, но суть не в том, какой формат возвращает, а в том, что возникает это исключение, которое приводит в бесконечный цикл. Какая может возникать ошибка при работе с этой библиотекой?
Oxford писал(а):Ну как удобная FAT от Chan? Навигацию делали? Какая ваша оценка?
FatFs - FAT file system module include file R0.07a (C)ChaN, 2009
Да библиотека довольно удобная в обращении, переделал только SPI ножки. Однако переделывал кое-что...
в функции DSTATUS disk_initialize ()
{
...
if (ty) { /* Initialization succeeded */
Stat &= ~STA_NOINIT; /* Clear STA_NOINIT */
FCLK_FAST();
} else { /* Initialization failed */ //power_off();- это закомментировал
}
return Stat;
}
Закоммениторвал строку power_off(), потому как она иногда вызывалась, якобы инициализация не прошла, но после этого плата всё равно могла нормално создавать/писать/читать файлы/директории.
В обращении она удобна, смотрел удобную инструкцию по командам http://microsin.net/programming/ARM/fat ... ystem.html
Моя оценка 4(с большим +). Создание файлов и папок практически как при программировании десктоп-приложений на C/С++, что для меня и других программистов C/C++ очень удобно.
Чановская фат удобна и разжована, но есть один минус, на старых флешках бывает не находит файлы. Это думал моя проблема, однако на стмf4дискавери есть проект с вав диктофоном, в котором fatfs и та флешка которая не работает на моем проекте также не работала и тут.
Форматирование виндой не помогает, но вроде форматирование самой fatfs помогает.