2013-05-01 4 views
2

Я разрабатываю приложение на базе ARM9, используя UBUNTU 10.04 и GCC в качестве компилятора.NAND Flash-интерфейс ARM9 Раздел MTD не получается сгенерированным

Ранее я подключил вспышку NAND от STMicroelectronics (NAND512W3A25NB). Это 64MByte. Он имеет размер страницы 512 Кбит.

С помощью этого NAND мое приложение работает очень хорошо.

В связи с некоторой модернизацией требования к памяти мне нужно переключиться на более крупную флеш-память NAND, которая находится от Micron (MT29F2G08ABAEA). Он имеет размер 256 Мбайт и имеет размер 2048 Кбит.

С изменениями моя плата не загружается.

У меня есть идентификатор производителя, а также идентификатор чипа. Но разделы MTD не генерируются.

После некоторых поисков я обнаружил, что есть проблема с PAGE_SIZE. Я не знаю, как решить эту проблему, поскольку я прошел через linux/include/mtd/nand.h, у нее есть MAX_ALLWABLE_PAGE_SIZE из 8216, и она также находится в пределах m, поэтому я не могу точно понять, где i я ошибаюсь?

+0

Я нашел там что-то в ядре время NAND, которое по умолчанию установлено. Вы можете проверить это, просмотрев файл /linux/arch/arm/mach-davici/board-da850-evm.c. Я использую микропроцессор на базе AM1808 ARM9. –

ответ

3

Я использую тот же чип, Micron MT29F2G08ABAEA, по дизайну IMX25. Цепи mtd-> ubi-> ubifs вполне довольны этим набором микросхем. Наши отличия - это NAND flash controllers и их конфигурация.

Micron чип имеет подстраниц и ваш контроллер не поддерживает это. Поиск по davinci_nand.c, я не вижу подкатегория обработка.

Для MXC Нанд контроллера, мы используем hw_ecc, flash_bbt, и width одного. Микрон чип только 8-битный, хотя есть некоторые 16-разрядные версии как Micron MT29F2G16ABAEA. Убедитесь, что геометрия верна. Я думаю, что MTD для Linux поддерживает несколько чипов параллельно.

Быстро проверить, работает ли эта деталь быстрее или нет с листами данных. Я подозреваю, что ST часть медленнее, чем Micron часть и время не ваша проблема.

Временной анализ Micron MT29F2G08ABAEA указал, что контроллер вспышки IMX25 NAND на самом деле является горлышком бутылки. Micron Flash выглядит довольно быстро. Это либо ошибка в контроллере NAND , либо, скорее всего, проблема с конфигурацией.

Некоторые другие сведения, которые полезно (для вас или кого-то, чтобы помочь вам),

  • Некоторые dmesg или консоль выход.
  • Ссылка на технические данные.
  • Точный NAND-контроллер б/у.
  • Данные платформы или DT информация использовалась.
  • grep '^[^#].*MTD' .config или MTD соответствующая конфигурация.

Я не думаю, что любой может ответить на ваш вопрос, но я рад удивляться.

+0

Хорошо, я обнаружил, что ошибался в настройках размера блока, поэтому я изменил его. Я получил решение. –

+0

Как я извлекаю переменные среды из U-Boot. Поэтому мне нужно было внести изменения в U-boot, а также изменить файл заголовка U-boot для NAND-страниц в соответствии с вашим NAND. –

+1

@ParthivShah: Если вам, по вашему мнению, достаточно ответа, вы можете щелкнуть флажок ** ** под стрелками вверх/вниз для ответа. Иногда люди ждут некоторое время, так как могут быть получены лучшие ответы. Я вижу, вы не приняли никаких ответов на какие-либо из ваших вопросов, поэтому я думаю, вы можете не знать об этом? –

Смежные вопросы