Полная версия этой страницы:
AT91SAM9G45 не стартует
Chestor
Oct 8 2011, 09:51
Всем привет.
Работаю с МК AT91SAM9G54. Собрал свою платку с процом, NAND и DDR2.
Раньше работал с отладочной платой AT91SAM9G54 и как она должна правильно работать представляю себе.
На свою плату через JTAG могу грузить и запускать программы (IAR). Могу прошивать NAND через SAMBA JTAG.
НО! Когда я загрузил прошивку в NAND и перезапустил контроллер, то никаких признаков жизни. Кварцы 12М и 32К живут, в порт отладки никакой информации... Такое ощущение, что sam-ba не находит загрузчиков (если вообще она стартует). Копание документации не помогло.
Подскажите пожалста, куда копать дальше? На какие ключевые моменты можно посмотреть и проверить?
Спасибо за ответы!
Возможно, дело из-за недоработанности загрузчика 9G45: он, насколько помню, не умеет пользоваться CRC при загрузке из NAND Flash, ну а значит, возможны проблемы... Еррату посмотрите на него, а заодно проверьте, нет ли корректируемых ошибок во флэше (SAMBA-то, возможно, умеет их корректировать, но, если они есть, загрузка не пройдёт из-за неспособности загрузчика коррекцию выполнить). Впрочем, точно утверждать ничего не могу: сам из NANDа никогда не загружался, только с SPI Dataflash (с SD-карты тоже загрузка работает).
DpInRock
Oct 8 2011, 18:45
Батарейку снять. BACKUP питание гарантировано обнулить. Поставить батарейку обратно.
Рестартовать. Проверить напряжение на RST. Если 0, повторить процедуру внимательнее.
Ну и в программе - разрешить юзерский сброс.
Chestor
Oct 10 2011, 07:11
Посмотрел самбой наличие на флешке бэдблоков. таких не обнаружено... Стало быть, с подсчетос CRC проблем быть не должно?
Попробовал стереть прошивку из NAND!
В результате устройство стало видеться по USB как "atm6124sysATMEL AT91xxxxxTestBoard"... Это работает встроенный (не изменяемый) загрузчик SAMBA в микроконтроллере. ТО есть, он полазил по внешним носителям в поиске загрузочных файлов, не нашел их и стал работать сам. В случае, если он находит загрузочный файл, то скачивает его в оперативу и передает ему управления.
Стало быть, до этого самба все же находила мою прошивку, скачивала ее и передавала ей управление... но она по каким-то причинам не работала. =( Теперь остается вопрос, почему одна и та же прошивка на одном проце работает, а на другом таком же проце не работает...
Не САМБА находила, а именно загрузчик в ПЗУ контроллера (САМБА -- это утилитка, работающая на ПК и взаимодействующая с этим загрузчиком).
Ну а в Вашем случае надо, вероятно, трассировать эту самую прошивку на живом контроллере: подключиться к нему отладчиком, установить аппаратную точку останова по адресу точки входа в Вашу прошивку и запустить загрузчик.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.