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

 
 
 
Reply to this topicStart new topic
> Драйве Nand, ошибка при записи
Dilim
сообщение Jun 23 2014, 12:03
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 28-08-13
Пользователь №: 78 089



Собственно есть готовая сборка linux для платы AM3517EVM. На оригинальной плате установлен чип nand Micron с разрядностью шины 16 бит. У меня же на отладночной плате установлен чип samsung с 8 разрядной шиной. Для запуска менял в файле nand_base.c разрядность шины (не нашел, где задать соответствующее определение). В итоге ядро загружается и начинает сыпаться сообщения:

cannot write OOB for EB at 07320000, requested 8 bytes, read 0 bytes, error -5
jffs2_flush_wbuf(): Write failed with -5
JFFS2 warning: (1507) jffs2_sum_write_data: Write of 16232 bytes at 0x0d99c098 failed. returned -5, retlen 0
Write of 2340 bytes at 0x0dce0000 failed. returned -5, retlen 0

ну и так далее в том же духе. Через минут 15 и вовсе всё падает

JFFS2 error: (1500) jffs2_link_node_ref: Adding new ref cf3e9488 at (0x0a031000-0x0a031000) not immediately after previous (0x0a040000-0x0a031000)
kernel BUG at /home/logic/mybuild/src/linux/fs/jffs2/nodelist.c:644!

подозреваю, что какие то проблемы с ECC, только вот понять не могу, что именно не так...
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 23 2014, 16:11
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Dilim @ Jun 23 2014, 16:03) *
Собственно есть готовая сборка linux для платы AM3517EVM. На оригинальной плате установлен чип nand Micron с разрядностью шины 16 бит. У меня же на отладночной плате установлен чип samsung с 8 разрядной шиной. Для запуска менял в файле nand_base.c разрядность шины (не нашел, где задать соответствующее определение). В итоге ядро загружается и начинает сыпаться сообщения:

cannot write OOB for EB at 07320000, requested 8 bytes, read 0 bytes, error -5
jffs2_flush_wbuf(): Write failed with -5
JFFS2 warning: (1507) jffs2_sum_write_data: Write of 16232 bytes at 0x0d99c098 failed. returned -5, retlen 0
Write of 2340 bytes at 0x0dce0000 failed. returned -5, retlen 0

ну и так далее в том же духе. Через минут 15 и вовсе всё падает

JFFS2 error: (1500) jffs2_link_node_ref: Adding new ref cf3e9488 at (0x0a031000-0x0a031000) not immediately after previous (0x0a040000-0x0a031000)
kernel BUG at /home/logic/mybuild/src/linux/fs/jffs2/nodelist.c:644!

подозреваю, что какие то проблемы с ECC, только вот понять не могу, что именно не так...


Подобные проблемы обсуждались на форуме TI.
У Вас согласованы все действия по записи и чтению в (из) nand?
Подозреваю, что загрузчик U-boot. Он правильно работает на запись-чтение с Вашей памятью? Образ rootfs jffs2 создан с учетом геометрии Вашей памяти?





--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Dilim
сообщение Jun 24 2014, 08:25
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 28-08-13
Пользователь №: 78 089



Цитата(mdmitry @ Jun 23 2014, 20:11) *
Подобные проблемы обсуждались на форуме TI.
У Вас согласованы все действия по записи и чтению в (из) nand?
Подозреваю, что загрузчик U-boot. Он правильно работает на запись-чтение с Вашей памятью? Образ rootfs jffs2 создан с учетом геометрии Вашей памяти?


Сейчас я гружусь с mmc и через u-boot записываю в нанд образы u-boot`а, ядра и файловой системы после чего перезагружаюсь уже с нанда. Т.к. загрузка проходит нормально имею смелось предположить, что запись в нанд происходит правильно.
Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 24 2014, 11:31
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Dilim @ Jun 24 2014, 12:25) *
Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается.

Да.
С Вашим процессором не работал, но имел проблемы на другом процессоре. С mmc и NFS все стартовало и работало, а с nand были проблемы. Есть известная проблема расчета crc для некоторых плат TI, по разному считаются и записываются контрольные суммы U-boot`ом и kernel'ом. Правил руками U-boot и kernel, переделывал образ jffs2 корневой системы с учетом размеров блоков на стирание и запись.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Dilim
сообщение Jun 24 2014, 15:46
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 28-08-13
Пользователь №: 78 089



Цитата(mdmitry @ Jun 24 2014, 15:31) *
Да.
С Вашим процессором не работал, но имел проблемы на другом процессоре. С mmc и NFS все стартовало и работало, а с nand были проблемы. Есть известная проблема расчета crc для некоторых плат TI, по разному считаются и записываются контрольные суммы U-boot`ом и kernel'ом. Правил руками U-boot и kernel, переделывал образ jffs2 корневой системы с учетом размеров блоков на стирание и запись.


Спасибо, но всё оказалось проще: надо было увеличить тайминги.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 14:30
Рейтинг@Mail.ru


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