Dilim 0 23 июня, 2014 Опубликовано 23 июня, 2014 · Жалоба Собственно есть готовая сборка 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, только вот понять не могу, что именно не так... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 23 июня, 2014 Опубликовано 23 июня, 2014 · Жалоба Собственно есть готовая сборка 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 создан с учетом геометрии Вашей памяти? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dilim 0 24 июня, 2014 Опубликовано 24 июня, 2014 · Жалоба Подобные проблемы обсуждались на форуме TI. У Вас согласованы все действия по записи и чтению в (из) nand? Подозреваю, что загрузчик U-boot. Он правильно работает на запись-чтение с Вашей памятью? Образ rootfs jffs2 создан с учетом геометрии Вашей памяти? Сейчас я гружусь с mmc и через u-boot записываю в нанд образы u-boot`а, ядра и файловой системы после чего перезагружаюсь уже с нанда. Т.к. загрузка проходит нормально имею смелось предположить, что запись в нанд происходит правильно. Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 24 июня, 2014 Опубликовано 24 июня, 2014 · Жалоба Поясните пожалуйста, что Вы имеете ввиду под геометрией памяти. Если это размер erase-блоков, то да, это учитывается. Да. С Вашим процессором не работал, но имел проблемы на другом процессоре. С mmc и NFS все стартовало и работало, а с nand были проблемы. Есть известная проблема расчета crc для некоторых плат TI, по разному считаются и записываются контрольные суммы U-boot`ом и kernel'ом. Правил руками U-boot и kernel, переделывал образ jffs2 корневой системы с учетом размеров блоков на стирание и запись. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dilim 0 24 июня, 2014 Опубликовано 24 июня, 2014 · Жалоба Да. С Вашим процессором не работал, но имел проблемы на другом процессоре. С mmc и NFS все стартовало и работало, а с nand были проблемы. Есть известная проблема расчета crc для некоторых плат TI, по разному считаются и записываются контрольные суммы U-boot`ом и kernel'ом. Правил руками U-boot и kernel, переделывал образ jffs2 корневой системы с учетом размеров блоков на стирание и запись. Спасибо, но всё оказалось проще: надо было увеличить тайминги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться