В конце года покупали 30 модулей. Один из них не грузился. Сейчас дошли руки поковыряться. Запускался только бутстрап и выдавал такое
Решил перепрошить его через SAM-BA. После этого он вообще в консоль ничего не выдает. Для проверки те же действия проделал на рабочем модуле - всё получилось, грузится. Получается в модуле какая-то аппаратная неисправность? Как проверить?
upd: попытался прошить еще раз. Теперь при выполнении Enable NandFlash выдает
Упс, оказывается забыл перемычку назад поставить.
Скорее всего не возбуждается RTC генератор (32768Гц), у 9G45 эта штука капризная, а в bootstrap по умолчанию сделано так, что система встает при запуске, если отсутствует RTC клок ...
Можете отправить его почтой к нам.
Можно попробовать добавить в параллель к кварцу резистор - поиграть с номиналом 1MОм, 2МОм ...
В идеале, если не пользуетесь RTC (именно часами питающимися от батарейки), его отключить и переделать bootstrap.
Перепрошил, сделал проверку записанного, говорит, что всё точно совпадает, но в консоль по прежнему ничего не пишет.
Часами пользуемся, буду паять резистор.
Хм, прикосновения щупов осциллографа оживляют модуль :)
Впаял кое как резистор 1М 1206 (меньше не было), включил - работает!
А почему этот резистор сразу не впаять, там же и место предусмотрено?
если вы не используете встроенный RTC для отсчета времени, то от него лучше просто отказаться.
Долго играл с резисторами, конденсаторами, загрузится/не загрузится 50/50. А в эксплуатации оно вам надо, если случайно не загрузится?
В итоге Павел по моей просьбе подогнал bootstrap, у которго вместо кварца генерит RC. Уже 2 года проблем нет. И модули у него заказываем теперь без часового кварца, на порядок надежнее и спокойнее.
Все так, но с тех пор (когда Вы с этим "воевали") изменилось следующее:
1) прошла ревизия печатной платы, было 4 слоя, стало 6
2) месяц назад начали ставить на эти модули процессоры "С" ревизии (до этого были только "А")
Но в целом, поддерживаю мысль с внешними часами, где-то тут на форуме ребята описывали "эффект", когда от внешнего воздействия (по земле или по питанию, что то "прилетало") RTC генератор останавливался (нареканий по обычному старту не было) и соответственно система висла так, что приходилось питание передергивать.
Насколько я помню, после загрузки линукса этот генератор в работе не участвует. Обнаружилось так:
модуль не грузился. Потрогал пальцем (случайно) ногу часового кварца. Пошла загрузка (в терминале). Палец убрал - загрузка остановилась. Приложил - продолжилась (!!!). Линукс загрузился - палец можно убирать, все работает.
Да, и еще - похожая проблема не только у Атмела. До перехода на модули от Павла использовали Cirrus Logic EP9315. Принцип загрузки примерно такой-же, для загрузки нужен генератор на часовом кварце. У кристаллов была проблема с этим генератором, и циррус выпустил errata, где предлагалось использовать внешний генератор на логических элементах на 32кГц, что мы и сделали. Когда столкнулись с похожей проблемой на Атмеле, я уже этот вариант держал в уме как запасной, с колхозом в виде внешего провода на вход генератора.
Опять возникла проблема. Есть 2 или 3 модуля с одинаковым отказом. Модуль просто перестает грузиться, вообще ничего не выводит в консоль. Если потыкать пальцем в районе часового кварца начинает грузиться, доходит до загрузки и распаковки ядра и перезагружается. Пробовал загружаться с SD. Здесь в начале запуска ядра выводится сообщение о IRQ1 которое, как я понял, никем не обрабатывается и далее всё зависает на сообщении "calibrating delay loop"
Запаял параллельно кварцу 5 с чем-то мегаом, наверно слишком много - ничего не изменилось. Или дело не в кварце? Бутстрап должен без кварца грузиться?