Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F407VG+NAND+FSFAT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
mifodij
Доброе время суток.
Суть проблемы такова есть отладочная плата STM32F4 Discovery и к ней припаяна NAND память MT29F64G08.
Уже есть написаные драйвера для работы со страницами самой памяти. но не могу настроить файловую систему FAT
с помощью бибилиотеки FSFAT. Сама памясть не может нормально отформатироватся..
Подскажите какой алгоритм?
что помио нижних драйверов надо определять?
demiurg_spb
Вы об этой FS спрашиваете?
http://elm-chan.org/fsw/ff/00index_e.html

Ответ очевиден: надо дебажить...
У Вас консоль отладочная поднята?
mifodij
Сама консоль не поднята отлажываю с помощью пошагово прохода по проекту. Использую библиотеку которая идет вместе с средой KEIL. Сам проект прилагаю.
Уровень драйверов работы с памятью реализовал. Страницы памяти читаю и пишу.
demiurg_spb
Я не буду изучать ваши исходники - нет никакого желания.
Учитесь самостоятельно находить свои ошибки - без этого программистом стать невозможно.
Вы же можете выполнять программу по шагам, так найдите место, где случается бяка и разберитесь с ней.
Тут чудес никаких нет и быть не может.
mifodij
Вся проблема в том что не могу понять где и что не проинициализировал. Читая документацию по кейлу настроил параметры NAND памяти и проверил нижний уровень драйверов.
Полсе этого начал настраивать уровень translation layout, как описано в документации на сайте кейла и подключил необходимую библиотеку. Сейчас проблема в то м что при инициализации самой памяти выдается ошибка про отсуствие MBR или о том что устройство не отфоратировано. выдаю команду форматировать ( fformat("N0:") ) оно проходит но после снова после инициализации відает ошибку 2. Вопрос в следующем где надо в самой библиотеки я мог не дообявить? или я неправильно адресую страницы и блоки. Во всехз примерах 4 байта адрес.. а в документации к памяти размер адресации 5 байт (согласно стандарту ONFI).
А пошагово мало что можно увидеть так как большая часть функций в в либе..
я могу видеть только те функции которые находять на уровне драйверов (так как писал их сам). и проверял что то что я пишу то и считывается.
demiurg_spb
Либы, собранные с отладочной информацией, тоже можно дебажить.
mifodij
Проблема в том что либу собирал не я, это стандартная либа в Кейле. Если чесно то не представляю как ее дебажить. разве что вызов отдельных функций или дезассемблированием.
demiurg_spb
Обычно поставляется два комплекта либ стрипанные и с отладочной информацией.
И в зависимости от цели цепляются к проекту те, или иные.
mifodij
В моем случае есть одна либа в которой реализованы нужные функции. а залезть внутрь либы я не могу.
mantech
Цитата(mifodij @ Aug 15 2016, 16:50) *
В моем случае есть одна либа в которой реализованы нужные функции. а залезть внутрь либы я не могу.


Ну а что вы тут тогда ждете? Ищете телепата? Тут напрашивается только один ответ - искать исходники с открытым кодом и отлаживать пошагово. Чем вам так уперся этот "черный ящик", в который "ни залезть, ни вылезть"?
hd44780
А Вы саму память проверяли? Типа записали куда-то 512 байт случайного мусора, считали, сравнили.
И к чему относится либа? Это работа с Вашим чипом памяти?
Сергей Борщ
QUOTE (mifodij @ Aug 15 2016, 16:50) *
В моем случае есть одна либа в которой реализованы нужные функции. а залезть внутрь либы я не могу.
Тогда, наверное, стоит обратиться в техподдержку Кейла. Вы заплатили им денег за компилятор, пусть они их отрабатывают.
Непомнящий Евгений
Цитата(Сергей Борщ @ Aug 16 2016, 18:46) *
Тогда, наверное, стоит обратиться в техподдержку Кейла. Вы заплатили им денег за компилятор, пусть они их отрабатывают.


biggrin.gif

хотя как знать конечно
Sanya_kv
FatFS не подходит для использования на "прямую" с типом памяти NAND. Причина в том, что блоки памяти довольно часто выходят из строя оп причине неравномерности использования. Бывает что с завода память приходит уже с битыми блоками. Для нормальной работы необходимо использовать дополнительный драйвер или контроллер, который равномерно распределяет "нагрузку" на все блоки. Насколько я помню, в Кейловской FlashFS этот драйвер присутствует.
Автор вопроса пока не сообщил какую библиотеку он пытается использовать. По крайне мере для меня это не очевидно.
mantech
Цитата(Sanya_kv @ Aug 22 2016, 09:28) *
FatFS не подходит для использования на "прямую" с типом памяти NAND.


С тем типом нанда, который у тс - да, не подходит. Если нет желания возится с выравниванием износа, можно поставить SLC-нанд.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.