Нет так давно Я писал о том, как мне удалось превратить микроконтроллер в «кирпич», выставив неудачную комбинацию настроек.
Проблема была в том, что мне случайно удалось перевести генератор, тактирующий ядро контроллера, в режим «по требованию».
При этом все было отключено, включая модуль отладки.
Многие откликнулись на мою просьбу и дали мне несколько хороших советов, а многие до сих пор спрашивают, чем все закончилось.
Так что история развивалась довольно комично, а закончилась достаточно банально.
Подробности под катом.
Итак, следуя советам опытных людей, мы пошли перечитывать разделы Руководства пользователя, посвященные отладке и режимам загрузки контроллера.
Оказалось, что вроде бы есть режим загрузки, в котором контроллер не начинает выполнять код, а ждет подключения отладчика.
Осталось самое сложное — припаять к нужным контактам, чтобы правильно выполнить загрузочную последовательность.
Оборудование, позволяющее сделать это, не убивая плату, находится в другом офисе, поэтому пришлось ехать туда и отдавать все специалистам.
Но в тот день, когда мы собирались ее забрать, произошло нечто необъяснимое.
Вечером плату положили в пакет, затем в коробку, а коробку положили в пакет. Однако утром в сумке оплаты не оказалось.
Она просто исчезла! Мы перерыли всю сумку, все найденные коробки, связались с бюро находок в автобусах, в которых ехала сумка.
Все напрасно.
Потратив пару дней на поиски, мы решили отказаться от этой платы и дождаться изготовления новых (что заняло почти 4 недели).
Хорошо, что мы смогли продолжить работу с прошивкой, так как у нас была Ардуино М0 с аналогичным процессором.
В этот момент я вспомнил анекдот про русского и два титановых шарика, но как-то было не смешно.
Однако в результате очередного мозгового штурма мы вспомнили, что перед тем, как уйти с доской домой, столы убирались.
Мы подбежали к шкафам с деталями и, разломав там все снизу доверху, нашли пропажу в том самом мешке.
Оказалось, что кто-то в последний момент случайно достал плату из коробки и убрал ее вместе с другими деталями.
Потом коробку закрыли, положили в пакет и т. д. Теперь шутка уже не воспринималась так грустно.
В итоге, потратив еще день на пайку необходимых проводов, мы начали его реанимировать.
Здесь стоит сказать, что пока мы развлекались в поисках платы, к нам пришел J-Link. Правда, не оригинал, а дешевый аналог неизвестного производителя.
Так что, как оказалось, даже паять ничего не пришлось.
Этот J-Link сразу увидел микроконтроллер, хотя дорогой и более «навороченный» ULink все время отказывался это делать.
После того, как злополучную прошивку удалили, все стало на свои места и все отладчики смогли без проблем подключиться к контроллеру.
Будем считать, что нас спасло то, что J-Link умеет тактировать сам модуль отладки, минуя ядро.
Я не знаю спецификаций SWD и не вникал глубоко в различия между J-Link и ULink, но кажется, что дешевый аналог работает лучше, чем дорогой и навороченный.
Правда, при этом он регулярно перегорает. На этом история заканчивается.
Плата работает, прошивка пишется.
Спасибо всем за вашу помощь! Теги: #микроконтроллеры #Atmel #программирование #Программирование микроконтроллеров #Интернет вещей #микроконтроллеры #микроконтроллер #кирпич #arduino #Аномальное программирование #Разработка робототехники #Программирование микроконтроллеров #Разработка для Интернета вещей
-
Прямые Трансляции С Highload++
19 Oct, 24 -
Битрикс24 — Crm Или Больше?
19 Oct, 24