реклама на сайте
подробности

 
 
> NAND с u-boot для LPC1788, Неправильно работает NAND
Novichok1
сообщение Mar 20 2012, 07:24
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Novichok1
сообщение Mar 20 2012, 08:04
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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;
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 00:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016