Перейти к содержанию
    

mifodij

Участник
  • Постов

    11
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. STM32F407VG+NAND+FSFAT

    В моем случае есть одна либа в которой реализованы нужные функции. а залезть внутрь либы я не могу.
  2. STM32F407VG+NAND+FSFAT

    Проблема в том что либу собирал не я, это стандартная либа в Кейле. Если чесно то не представляю как ее дебажить. разве что вызов отдельных функций или дезассемблированием.
  3. STM32F407VG+NAND+FSFAT

    Вся проблема в том что не могу понять где и что не проинициализировал. Читая документацию по кейлу настроил параметры NAND памяти и проверил нижний уровень драйверов. Полсе этого начал настраивать уровень translation layout, как описано в документации на сайте кейла и подключил необходимую библиотеку. Сейчас проблема в то м что при инициализации самой памяти выдается ошибка про отсуствие MBR или о том что устройство не отфоратировано. выдаю команду форматировать ( fformat("N0:") ) оно проходит но после снова после инициализации відает ошибку 2. Вопрос в следующем где надо в самой библиотеки я мог не дообявить? или я неправильно адресую страницы и блоки. Во всехз примерах 4 байта адрес.. а в документации к памяти размер адресации 5 байт (согласно стандарту ONFI). А пошагово мало что можно увидеть так как большая часть функций в в либе.. я могу видеть только те функции которые находять на уровне драйверов (так как писал их сам). и проверял что то что я пишу то и считывается.
  4. STM32F407VG+NAND+FSFAT

    Сама консоль не поднята отлажываю с помощью пошагово прохода по проекту. Использую библиотеку которая идет вместе с средой KEIL. Сам проект прилагаю. Уровень драйверов работы с памятью реализовал. Страницы памяти читаю и пишу. FATfs.rar
  5. STM32F407VG+NAND+FSFAT

    Доброе время суток. Суть проблемы такова есть отладочная плата STM32F4 Discovery и к ней припаяна NAND память MT29F64G08. Уже есть написаные драйвера для работы со страницами самой памяти. но не могу настроить файловую систему FAT с помощью бибилиотеки FSFAT. Сама памясть не может нормально отформатироватся.. Подскажите какой алгоритм? что помио нижних драйверов надо определять?
  6. FsFat + Nand + STM34F407VG

    Извините опечатка МТ29F64G08
  7. FsFat + Nand + STM34F407VG

    Вопрос в том что есть примеры но не понятно как накладывается сам fsFAT на NAND. Если кто то проходил разбирался не могли бы ВЫ показать кодом на С/С++. И что надо что бы инициализировать файловую систему.
  8. FsFat + Nand + STM34F407VG

    Доброе время суток. Подскажите начинающему решение проблемы. Есть Отладачная плата STM32F407VG к ней припаяна NAND память MT29F66G08. Сама память работает по шине FSMC. Сама шина настроена на уровне драйверов. Функции получения ИД памяти, параметров страницы, а также чтения и записи страницы написаны и работают. Не могу разобраться как с помощью библиотеки fsFAT наложить на память файловую систему FAT. Среда разработки Keil, пишу на С++ Подскажите что надо и как правильно подключить, и надо ли что то инициализировать.
  9. Спасибо совет со стиранием очень помог. Насчет второй команды перепутал.
  10. Микропроцессор STM32F407VG. Спасибо за код. Не могу полностью разобратся с адресацией самой флешпамяти. Прикрепляю исходный код проекта. Сама инициализация ножек и шины FSMC проходит успешно. Чтение ID памяти тоже проходит удачно. Если чесно просто не понятно как сама адресация происходит. как мне достучатся к конкретной странице памяти. что бы туда записать тестовые данные. nand_project.zip
  11. STM32F4-Discovery + NAND Flash MT29F64G08

    Доброе время суток. Суть проблемы. К МК STM32F4_diskovery подключил NAND память MT29F64G08. написал код для инициализации флеша по пинам. Начал читать тестовый ID. Получается правильно. Не могу понять как на С записать данные на страницу памяти, а потом считать их. Как я понимаю для чтения идет такой код uint8_t buffer[5]; uint8_t * data = (uint8_t *)FSMC_Bank2_NAND_data; uint8_t * command = (uint8_t *)FSMC_Bank2_NAND_Command; uint8_t * address = (uint8_t *)FSMC_Bank2_NAND_Address; turn_on_ce(NAND_CE0); *command = 0x00; *address = 0x00; *address = 0x00; *address = 0x00; *address = 0x00; *address = 0x00; *command = 0x30; buffer[0] =data[0]; buffer[1] =data[1]; buffer[2] =data[2]; buffer[3] =data[3]; buffer[4] =data[4]; а для записи uint8_t buffer[5]={0xAA}; uint8_t * data = (uint8_t *)FSMC_Bank2_NAND_data; uint8_t * command = (uint8_t *)FSMC_Bank2_NAND_Command; uint8_t * address = (uint8_t *)FSMC_Bank2_NAND_Address; turn_on_ce(NAND_CE0); *command = 0x80; *address = 0x00; *address = 0x00; *address = 0x00; *address = 0x00; *address = 0x00; *command = 0x10; data[0 ]= buffer[0]; data[1] = buffer[1]; data[2] = buffer[2]; data[3] = buffer[3]; data[4] = buffer[4]; програмирую под кейлом. проблема в том что не записыватеся. и как я понимаю неправильно адресация идет. Подскажите как в MT29F64G08 правильно организована адресация? и как правильно записывать данные и считывать их? Если надо могу скинуть полностью проект.
×
×
  • Создать...