Jump to content

    
Sign in to follow this  
Dilim

Драйве Nand

Recommended Posts

Собственно есть готовая сборка 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, только вот понять не могу, что именно не так...

Share this post


Link to post
Share on other sites
Собственно есть готовая сборка 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 создан с учетом геометрии Вашей памяти?

 

 

 

 

Share this post


Link to post
Share on other sites
Подобные проблемы обсуждались на форуме TI.

У Вас согласованы все действия по записи и чтению в (из) nand?

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

 

Сейчас я гружусь с mmc и через u-boot записываю в нанд образы u-boot`а, ядра и файловой системы после чего перезагружаюсь уже с нанда. Т.к. загрузка проходит нормально имею смелось предположить, что запись в нанд происходит правильно.

Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается.

Share this post


Link to post
Share on other sites
Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается.

Да.

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

Share this post


Link to post
Share on other sites
Да.

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

 

Спасибо, но всё оказалось проще: надо было увеличить тайминги.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this