|
|
  |
NAND с u-boot для LPC1788, Неправильно работает NAND |
|
|
|
Mar 20 2012, 07:24
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032

|
Здравствуйте! Продолжается инициализация u-boot ( lpc177x8x-u-boot-port) для своей платы на основе LPC1788. Уже запарился - неработает NAND флэш (Samsung K9F5608U0D-PCBO). Различались некоторые ноги, но это я учел в инициализации. Тестирую так: записываю 512 байт, затем читаю 512 байт. Сперва читались только FF (значения после Erase), выяснилось, что нога P4.31 (Chip Enable1) не была настроена как GPIO, исправил это (не пойму, как с такой ошибкой у создателей порта работала NAND у u-boot, разве что они не тестировали эту фичу). После этого что-то стало записываться и читаться, но далеко не все, где-то первые 100 байт из 512 записываются или читаются не правильно, скорее всего записываются, потому что после ерэйза читаются только FF, а если попробовать записать массив FF, то первые байты после чтения не равны FF! Оставил такой вопрос на lpcWare ( http://www.lpcware.com/content/forum/problem-nand), также отправлял запрос в службу техподдержку http://emcraft.com/, там посоветовали увеличить тайминги - не помогло. Буду рад любой помощи!
Сообщение отредактировал Novichok1 - Mar 20 2012, 07:25
|
|
|
|
|
Mar 20 2012, 08:04
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032

|
Да, правильно, и еще, после прочтения возникает ошибка -74 (-EBADMSG): Цитата NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0x75 (Samsung NAND 32MiB 3,3V 8-bit) 32 MiB Bad block table found at page 65504, version 0x01 Bad block table found at page 65472, version 0x01 nand_isbad_bbt(): bbt info for offs 0x00040000: (block 0) 0x10 nand_isbad_bbt(): bbt info for offs 0x00040000: (block 0) 0x10 NAND read from offset 40000 failed -74 *** Warning - readenv() failed, using default environment Эта ошибка возникает в файле nand_base.c, в функции static int nand_do_read_ops(struct mtd_info *mtd, loff_t from, struct mtd_oob_ops *ops): Код if (mtd->ecc_stats.failed - stats.failed) return -EBADMSG;
|
|
|
|
|
Mar 20 2012, 08:18
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Не знаю как там в LPC это сделано, но для AT91SAM9263 и для iMX356 сообщение выглядит так: Код NAND device: Manufacturer ID: 0xec, Chip ID: 0xd7 (Samsung NAND 4GiB 3,3V 8-bit) Manufacturer : Samsung (0xec) Device Code : 0xd7 Cell Technology : MLC Chip Size : 4 GiB Pages per Block : 128 Page Geometry : 4096+218 ECC Strength : 8 bits ECC Size : 512 B Data Setup Time : 20 ns Data Hold Time : 10 ns Address Setup Time: 25 ns GPMI Sample Delay : 6 ns tREA : Unknown tRLOH : Unknown tRHOH : Unknown Description : K9LBG08U0D Могу предположить что NAND у Вас все-таки не определился, т.е. ID считался, но соответствие остальных параметров в базе флешей найдено не было, потому и не работает. Выхода два: либо за хардкодить нужную Вам НАНД, либо попытаться разобраться почему не происходит автоопределение типа памяти.
--------------------
|
|
|
|
|
Mar 20 2012, 09:00
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032

|
К сожелению, NAND определился. больше он ничего не хотел выдавать, на плате LPC2478 от EmbeddedArtists такой же вывод, плюс в массиве чипов nand_flash_ids (в nand_ids.c) есть элемент с этим чипом: Код ... {"NAND 32MiB 3,3V 8-bit", 0x75, 512, 32, 0x4000, 0}, ... Еще, код выполняется из внешней рамки, а часть шины адреса и данных разделена между внешней SDRAM и NAND, причем NAND Chip Enable (P4.31) мы дергаем как GPIO, не могут проблемы возникнуть из-за этого?
|
|
|
|
|
Mar 20 2012, 09:37
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 8-07-09
Пользователь №: 51 032

|
Ну, не все, есть контроллер внешней памяти, он вкупе с драйвером nand всем и рулит. Могу сказать, что руками рулится ChipSelect, и R/B, остальное через адресные ноги и ноги данных. Жаль, что не сможете помочь, но все равно спасибо за ответы!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|