Как Убить Микроконтроллер Стандартными Настройками. Часть 2



Как убить микроконтроллер стандартными настройками.
</p><p>
 Часть 2

Нет так давно Я писал о том, как мне удалось превратить микроконтроллер в «кирпич», выставив неудачную комбинацию настроек.

Проблема была в том, что мне случайно удалось перевести генератор, тактирующий ядро контроллера, в режим «по требованию».

При этом все было отключено, включая модуль отладки.

Многие откликнулись на мою просьбу и дали мне несколько хороших советов, а многие до сих пор спрашивают, чем все закончилось.

Так что история развивалась довольно комично, а закончилась достаточно банально.

Подробности под катом.

Итак, следуя советам опытных людей, мы пошли перечитывать разделы Руководства пользователя, посвященные отладке и режимам загрузки контроллера.

Оказалось, что вроде бы есть режим загрузки, в котором контроллер не начинает выполнять код, а ждет подключения отладчика.



Как убить микроконтроллер стандартными настройками.
</p><p>
 Часть 2

Осталось самое сложное — припаять к нужным контактам, чтобы правильно выполнить загрузочную последовательность.

Оборудование, позволяющее сделать это, не убивая плату, находится в другом офисе, поэтому пришлось ехать туда и отдавать все специалистам.

Но в тот день, когда мы собирались ее забрать, произошло нечто необъяснимое.

Вечером плату положили в пакет, затем в коробку, а коробку положили в пакет. Однако утром в сумке оплаты не оказалось.

Она просто исчезла! Мы перерыли всю сумку, все найденные коробки, связались с бюро находок в автобусах, в которых ехала сумка.

Все напрасно.

Потратив пару дней на поиски, мы решили отказаться от этой платы и дождаться изготовления новых (что заняло почти 4 недели).

Хорошо, что мы смогли продолжить работу с прошивкой, так как у нас была Ардуино М0 с аналогичным процессором.



Как убить микроконтроллер стандартными настройками.
</p><p>
 Часть 2

В этот момент я вспомнил анекдот про русского и два титановых шарика, но как-то было не смешно.

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

Мы подбежали к шкафам с деталями и, разломав там все снизу доверху, нашли пропажу в том самом мешке.

Оказалось, что кто-то в последний момент случайно достал плату из коробки и убрал ее вместе с другими деталями.

Потом коробку закрыли, положили в пакет и т. д. Теперь шутка уже не воспринималась так грустно.

В итоге, потратив еще день на пайку необходимых проводов, мы начали его реанимировать.

Здесь стоит сказать, что пока мы развлекались в поисках платы, к нам пришел J-Link. Правда, не оригинал, а дешевый аналог неизвестного производителя.

Так что, как оказалось, даже паять ничего не пришлось.

Этот J-Link сразу увидел микроконтроллер, хотя дорогой и более «навороченный» ULink все время отказывался это делать.

После того, как злополучную прошивку удалили, все стало на свои места и все отладчики смогли без проблем подключиться к контроллеру.

Будем считать, что нас спасло то, что J-Link умеет тактировать сам модуль отладки, минуя ядро.

Я не знаю спецификаций SWD и не вникал глубоко в различия между J-Link и ULink, но кажется, что дешевый аналог работает лучше, чем дорогой и навороченный.

Правда, при этом он регулярно перегорает. На этом история заканчивается.

Плата работает, прошивка пишется.

Спасибо всем за вашу помощь! Теги: #микроконтроллеры #Atmel #программирование #Программирование микроконтроллеров #Интернет вещей #микроконтроллеры #микроконтроллер #кирпич #arduino #Аномальное программирование #Разработка робототехники #Программирование микроконтроллеров #Разработка для Интернета вещей

Вместе с данным постом часто просматривают: