Для чего нужен вачдог

Watchdog для майнинга – описание, использование настройка

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

WatchDog представляет собой устройство, необходимое для автоматической перезагрузки компьютеров при зависании. Сторожевой USB-таймер предназначен не только для майнеров. Это универсальное устройство, которое рекомендуется к использованию для пользователей высоконагруженных компьютеров.

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Средняя цена на российском рынке составляет 1100-1200 рублей. Стоимость зависит от версии Watchdog. Значительно дешевле можно приобрести в интернете – с доставкой из Китая.

Описание и использование Watchdog для майнинга

Устройство устанавливает связь с системой через USB. Если в течение выбранного времени, которое можно изменять в настройках, сторожевой таймер не получает ответ, то он перегружает систему, нажимая на Reset. Если и это не помогло, то устройство запустит систему, нажатием на кнопку Power. Кроме того, Watchdog заново запустит работу при кратковременной потере электричества на тот случай, если встроенная опция в BIOS с этой задачей не справилась. Поможет устройство и при появлении синего экрана.

Специальная программа OD Farm Control позволяет осуществлять полноценный контроль за процессором во время майнинга и смотреть характеристики всех видеокарт на ферме. Доступно оповещение о работе фермы через Telegram-бот.

Watchdog в связке с OD Farm Control может автоматически выполнять следующие действия:

Настройка Watchdog

Для установки устройства WatchDog потребуется выполнить следующие действия:

На этом установка завершена. Рекомендуется выполнить проверку. Для этого в самой программе нажмите «тест перезагрузки» и «тест жёсткой перезагрузки». Если устройство не работает, то, вероятнее всего, допущена ошибка в пятом пункте инструкции. Ещё раз проверьте правильность подключения к необходимым контактам. Должна быть соблюдена полярность.

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Источник

Что такое WatchDog и для чего он нужен

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Не секрет, что высокие технологии в настоящее время охватывают все новые и новые сферы жизни человека. Еще в середине прошлого века трудно было себе представить тот рывок, который техника совершила за последние 20 лет.
Сегодня никого не удивить электронными терминалами по приему платежей, банкоматами, комплексами бытовой автоматики («Умный дом»), сложными автономными системами видеонаблюдения и т.п.
Список можно продолжать бесконечно долго, и все равно невозможно охватить сразу все области интеграции сложной электронно-вычислительной техники в современном обществе. Эти технологии делают нашу жизнь проще, комфортнее и, несомненно, гораздо интереснее.
К сожалению, несмотря на стремление к технологическому совершенству, создать что-либо совершенно надежное невозможно в силу объективных причин. Человек по природе своей несовершенен, следовательно, и созданные им приспособления не всегда действуют так, как хотелось бы. Это касается абсолютно любой сферы деятельности, включая сложнейшие стратегические комплексы и космическую отрасль.
Ведь не секрет, что чем сложнее устройство, чем больше элементов оно в себе содержит, тем выше риск возникновения непредвиденного сбоя. И дело здесь вовсе не в нежелании инженеров и программистов получить безупречный результат – просто невозможно предусмотреть абсолютно все ситуации.
Да и, кроме того, есть целый ряд причин, защиты от которых просто может не быть, либо она будет неэффективна. Никто не застрахован от внезапных перепадов напряжения питания, даже, несмотря на целый комплекс защитных устройств на этот случай, от случайных статических разрядов, от умышленных вредоносных действий недоброжелателей (например, хакерские атаки на сервера в интернете). Последствия таких событий, наверное, известны всем.

На практике, попав во внештатную ситуацию, оборудование ведет себя малопредсказуемо – происходят различные сбои, устройство «зависает», начинает «глючить», одним словом перестает корректно выполнять свои функции. Инженеры и программисты постоянно борются с подобными явлениями, регулярно обновляя программное обеспечение своих продуктов и совершенствуя их аппаратную часть. Но одно дело, когда «завис» или показал «синий экран смерти» домашний компьютер или ноутбук, и совсем другое дело – когда перестал функционировать тот же банкомат, подстанция сотовой связи, мощный сервер в центре обработки данных или сетевая камера видеонаблюдения.
В первом случае все решается простым нажатием кнопки «Сброс» или кратковременным выключением прибора из сети, а со вторым случаем все сложнее. А что, если тот самый банкомат или видеокамера находятся за многие сотни или даже тысячи километров от администратора системы?
Выход напрашивается сам собой – приставить к каждому устройству персонального смотрителя, который будет неустанно следить за его работоспособностью и вовремя нажимать нужные кнопки в случае сбоя. Но не все так просто.
Во-первых, не стоит забывать о пресловутом «человеческом факторе», как мы уже говорили человек – существо несовершенное, может и отлучиться куда-нибудь, отвлечься или просто заснуть на посту.
Во-вторых, порой, финансовые затраты на персонального сторожа для каждого устройства будут обходиться гораздо дороже самого этого устройства, что весьма расточительно, а в комплексе с первым утверждением вообще малоэффективно.

Есть еще способ. Практически во все современные устройства, работающие под управлением контроллера (процессора) и содержащие управляющую микропрограмму или операционную систему, встраиваются т.н. «Сторожевые таймеры» (англ. WatchDog – Сторожевой Пёс).
По своей сути они могут быть как программными, так и аппаратными, встроенными в микроконтроллер или иную микросхему внутри устройства.
Основная задача таких таймеров – своевременный перезапуск «зависшего» оборудования с целью восстановления его работоспособности.
Если в течение определенного времени или определенного в программе числа циклов операционная система устройства или порт микроконтроллера не отвечают на запросы таймера, устройству посылается команда сброса и перезагрузки.

Несомненно, это весьма удобно и не требует таких больших затрат, как содержание штата сотрудников, следящих за каждым прибором, но и тут есть большой минус. Те сторожевые таймеры, про которые велась речь выше – встроены непосредственно в логику контролируемого прибора. И в этом их основной недостаток. При определенных условиях эти таймеры, независимо от того, аппаратно они реализованы или программно, могут «зависнуть» вместе со всем устройством. И тогда польза такого электронного сторожа будет нулевой – его самого придется сбрасывать вместе со всей начинкой подконтрольного прибора.

Есть еще одно условие – иногда подачи только сигнала «Сброс» оказывается недостаточно, и для полного восстановления работоспособности устройства его необходимо на некоторое время полностью обесточить. Например, если по какой-то причине сработала защита встроенного в сетевую видеокамеру преобразователя питания? Устройство просто выключится, и сторожевой таймер тоже, следовательно, выходом из положения будет только кратковременное прекращение подачи напряжения питания на камеру с дальнейшим его восстановлением.

Итак, каким же должен быть оптимальный WatchDog?
Он должен быть независимым от контролируемого устройства, автономным, надежным, гибко программируемым и, самое главное, с возможностью дистанционного управления для того, чтобы оператор или администратор имели возможность при малейшем подозрении на неправильную работу контролируемого оборудования принять меры по исправлению ситуации. Так есть ли оптимальное решение? Конечно же, есть.

Вот список всех методов определения работоспособности оборудования, используемых в сторожевых таймерах HW group:

Ping Push: В этом режиме IP WatchDog через определенные интервалы времени отправляет на заданный IP-адрес запросы PING, тем самым определяя, откликается ли на них контролируемое устройство. В случае, если отклик от устройства не был получен, сработают контакты реле и, к примеру, будет произведена его перезагрузка. Данный метод очень удобен для мониторинга состояния сетевых видеокамер, маршрутизаторов, сетевых коммутаторов и т.п.

Ping Request: В отличии от предыдущего режима, IP WatchDog не посылает запросы PING, а ожидает таковых от контролируемого устройства. Хорошо подходит для использования в серверных и телекоммуникационных стойках, на вышках сотовой связи.

Web Push: Эта функция доступна только для IP WatchDog HWg-WR02a. Ее суть заключается в том, что сторожевой таймер периодически запрашивает определенную Web-страницу с указанного пользователем адреса. Это очень удобный метод контроля работоспособности Web-серверов – при отсутствии или недоступности запрашиваемой страницы (известная всем «Ошибка 404») сервер будет своевременно перезапущен.

Web Request: В данном режиме IP WatchDog ожидает от контролируемого устройства запроса своей внутренней Web-страницы. Если страница не будет запрошена в течение определяемого пользователем интервала времени – устройство будет перезапущено. Метод так же удобен для контроля состояния Web-серверов. Доступна эта функция только в обновленном IP WatchDog HWg-WR02a.
RS232 Rx: Как уже упоминалось выше, в этом режиме сторожевой таймер будет ожидать от подключенного к нему устройства определенную последовательность символов, переданную посредством стандартного порта RS-232.

Источник

Что такое Watchdog и его применение при потере связи на Raspberry Pi

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Предостережение

Перед тем как выполнять действия, описание в этой статье, пожалуйста прочтите мнение редакции в конце.

Меня заинтересовала прежде всего такая функция, как перезапускать систему при отсутствии связи с роутером. Почему прежде всего именно эта функция?

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

У меня часто отключают свет в квартире, а при подаче питания вновь часто отваливается HomeBridge на микроконтроллере Raspberry Pi 3 (далее малинка). Лечится это перезагрузкой самой малинки. Причина до конца не выяснена, но думаю мой роутер запускается позже чем сама малинка. Проведя эксперимент с выключением роутера во время работы малинки, я убедился что HomeBridge перестает функционировать. Вы можете проверить сами и написать в комментариях как решили данную проблему. Может быть проблема могла решиться заданием статического IP на самой малинке, но я это не проверял.

На малинке установлен образ с Node 10 по статье нашего коллеги. Малинка подключена к роутеру с помощью кабеля и её IP зарезервирован как статический адрес на роутере.

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

Заходим на малинку по SSH и устанавливаем демон Watchdog командой:

Далее делаем бэкап конфигурационного файла, если что-то пойдет не так и для отказа от работы Watchdog, если нет больше необходимости.

Далееи редактируем файл конфигурации /etc/watchdog.conf

В файле конфигурации необходимо раскомментировать ниже приведенные строки и задать Ваши параметры

Теперь при отсутствии пинга 5 раз каждые 20 секунд (через 100. секунд) малинка будет перегружаться. Конечно интервал и количество пингов можно изменить в зависимости от задач, а так же при необходимо сменить IP на внешний (8.8.8.8 для примера) для проверки работоспособности интернета (хотя зачем это в моем случае).

Надо помнить, что при потере связи с указанным IP адресом малинка будет постоянно перегружаться и если Вы этого не хотите, то надо вернуть старый файл конфигурации (мы его специально сохраняли). Делается это командой

Как я уже писал выше Watchdog может перегружать малинку и по другим событиям, но это уже другая, не мене интересная тема., которую я продолжу изучать. Для желающих разобраться ниже ссылки на инструкции по Watchdog.

Прикольная картинка взята здесь

Мнение редакции

Мы считаем действия, описанные в статье слишком кардинальными, и избыточными. Необходимо более детально разбираться в корне проблемы а не перезагружать всю систему при каждом чихе. В данной проблеме вполне возможно помог бы рестарт сервиса бриджа или переподключение сетевого интерфейса.

Источник

Использование Watchdog v 9.0 для обеспечения бесперебойной работы рига

Любое оборудование при продолжительной работе может сбоить из-за различных причин. В майнинге это, как правило, проблемы, связанные с переразгоном, перегревом, критическим накоплением программных ошибок, переполнением доступной памяти, распространением помех по сети и прочим.

При простое оборудования, использующегося при майнинге, происходит потеря дохода. Для уменьшения простоев, вызванных сбоями в работе оборудования, стоит использовать программные watchdog’s («сторожевые собаки»), а также аппаратные устройства.

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

Такие устройства, как правило, стоят не очень дорого и их можно купить в местных магазинах или заказать на Aliexpress.

В этой статье рассматривается один из последних аппаратных Watchdog-ов, производимых в Китае фирмой Finedar — USB устройство версии 9.0 (стоимость около 3,5 долларов США):

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Описание и технические данные USB Watchdog v 9.0:

Преимущества USB вотчдога версии 9.0:

Существует две версии комплектации устройства: в корпусе из оргстекла и без него (опция with shell / no shell).. В комплект поставки входят: watchdog (в прозрачной коробочке или без нее), две пары проводников для коммутации линий power on/off и Reset.

Устройство обладает следующими параметрами:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

На плате устройства имеется кнопка On для запуска системы (дублирует функцию кнопки включения питания).

На дисплее устройства отображается номер рига (четыре символа в формате xxxx), который можно установить программным способом. Отображение количества доступных видеокарт производится с использованием двух символов в формате D-xx.

Как использовать watchdog версии 9.0

Для использования watchdog 9.0 нужно выполнить следующие действия:

Для добавления программы мониторинга PCWatchDog_V9.0.exe в автозагрузку нужно создать ее ярлык и поместить его в папку «C:\Users\Z370\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup».

Для проверки работоспособности устройства нужно нажать на кнопку «Reset now» в программе watchdog-а и убедиться, что компьютер перезагрузился и все необходимые программы запустились в автоматическом режиме.

Для проверки также можно просто закрыть программу мониторинга watchdog-а и проследить, чтобы риг перезагрузился по истечении времени, выставленного в поле таймаута перезагрузки (10-1270 секунд). Это значение нужно выставлять больше на не менее 20-30 секунд чем время, необходимое для загрузки операционной системы и программы мониторинга.

Установка драйверов для watchdog

Установку драйверов для watchdog можно осуществлять и без подключения самого устройства к материнской плате. Она производится следующим образом:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Запуск и настройка программы PCWatchDog_V9.0

Если программа PCWatchDog не работает, а устройство подключено к USB-разъему, то на дисплее не отображаются контрольные данные. При этом, как правило, светятся цифры 9999 и дисплей выглядит так:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Запуск и настройка программы PCWatchDog_V9.0.exe для мониторинга watchdog-ом работы майнинг рига осуществляется так:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Окно настроенной программы PCWatchDog_V9.0.exe выглядит так:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Watchdog при нормальной работе циклически отображает количество видеокарт в системе, системное время. номер рига и прочие параметры, выставленные при настройке.

Скриншот отображения видеокарт в системе на WatchDog_V9.0:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Watchdog версии 9.0 также работает при использовании программного обеспечения версии 6.1.9, но при этом полный перечень функций устройства не доступен.

Скриншот окна Watchdog версии 9.0 при использовании программы 6.1.9:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Возможные проблемы при работе устройства

При неподключенном к ригу watchdog-е появляется сообщение watchdog error:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Для устранения этой ошибки нужно проверить правильность подключения сторожевой собаки к USB-разъему.

Периодически при работе программы мониторинга вотчдога возникает сообщение об ошибке в приложении такого вида:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Эта ошибка не влияет на работоспособность устройства и может игнорироваться.

На дисплее watchdog-а отображаются следующие коды ошибок:

При мигании индикаторов watchdog происходит обмен между устройством и системой. В нормальном состоянии индикаторы светятся постоянно.

Если компьютер/система не работает или имеются другие неисправности, то экран watchdog-а не горит вообще.

Заключение

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

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

Источник

Arduino watchdog или автоматический RESET в случае зависания

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог
Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.

Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.

Функции Watchdog

Чтобы использовать функции Watchdog нужно подключить к проекту стандартную библиотеку:

Теперь нам доступны следующие три функции:

1. Запуск таймера watchdog:

Таймер будет считать ровно столько, сколько указано в константе. По истечении этого времени произойдет перезагрузка.

2. Сброс таймера watchdog:

Думаю, понятно для чего нужна эта функция — пока вы вызываете ее, контроллер не сбросится. Как только система зависнет и эта функция вызываться перестанет, то по истечении заданного периода произойдет перезагрузка.

3. Отключение watchdog:

Отключение таймера watchdog.

Собственно, на этом можно было бы и закончить наше повествование о watchdog… но дело в том, что все это работает только в Arduino Uno, а на Arduino Mega, Mini и Nano все это работает ровно наоборот, т.е. не работает совсем 🙂

Почему watchdog не работает на большинстве современных плат Arduino

Дело в том, что после перезагрузки, которая была вызвана watchdog, контроллеры последних выпусков оставляют включенным watchdog на минимальный период, т.е. 15ms. Это нужно для того, чтобы программа как-то узнавала, что предыдущая перезагрузка была по watchdog. Поэтому первоочередная задача загрузчика (или вашей программы, если она запускается первой) — сохранить информацию о том, что перезагрузка была «неожиданной» и сразу же выключить watchdog. Если этого не сделать, то система уйдет в bootloop, т.е. будет вечно перегружаться.

Как известно, в Arduino есть специальный загрузчик, который выполняется в первую очередь после перезагрузки системы. И, к огромному сожалению, стандартный загрузчик не сбрасывает watchdog! Таким образом, система заходит в жестокий bootloop (состояние «crazy led», при котором светодиод на 13-м пине мигает как сумасшедший).

Пути решения проблемы

Если посмотреть на исходники стандартного загрузчика (они есть в поставке платформы), то код отключения watchdog есть (!), но этот код вынесен под условную компиляцию и, по всей видимости, стандартный загрузчик скомпилирован без поддержки watchdog. По крайней мере в пакете платформы версии 1.5.2 (последней на момент написание статьи) дело обстоит именно так.

Для решения проблемы я даже прочитал man-ы самой платформы (:) и вроде бы там описана эта проблема и даже приведен код, который должен сделать всех счастливыми:

Здесь описывается функция get_mcusr(), которая должна вызываться сразу после сброса. Это достигается макросом «__attribute__((section(«.init3″)))». Я пробовал прописывать эту функцию во все секции, которые только возможно — да, она действительно запускается до функции setup() из скетча, но, к сожалению, гораздо позже 15ms (минимальная константа watchdog) после сброса…

Короче говоря, как я ни рыл интернет в поисках легкого решения проблемы, так ничего найдено не было. Я нашел только один способ заставить watchdog работать — перепрошить загрузчик… чем мы сейчас и займемся.

Проверка работоспособности watchdog

Прежде чем что-то прошивать, нужно проверить — вдруг ваша Arduino поддерживает watchdog. Для этого я написал небольшой скетч для теста. Просто залейте его, откройте монитор порта и смотрите, что будет происходить.

После перезагрузки (или подключения монитора к порту) встроенный светодиод мигнет, сигнализируя о том, что запустился загрузчик. Далее в секции setup происходит включение watchdog с таймером на 8 сек. После этого светодиод отсчитает нам это время и должна произойти перезагрузка.

Далее начинается самое интересное — если перезагрузка произошла и все повторяется в такой же последовательности, то вы имеете на руках Arduino, в которой загрузчик правильно обрабатывает watchdog. Если же после перезагрузки светодиод на 13-м пине начинает бесконечно мигать, то значит загрузчик не поддерживает watchdog. Здесь даже кнопка сброса не поможет. Для последующей прошивки нужно плату отключать от питания и после включения успеть прошить до первой перезагрузки.

Я протестировал 4 вида плат и только загрузчик в Arduino Uno сработал так как надо:

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Watchdog не поддерживается загрузчиком:
Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог
Watchdog поддерживается загрузчиком:
Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Как легче всего прошить новый загрузчик?

Прошивать загрузчик в Arduino можно с помощью отдельных программаторов, а можно собрать свой программатор с помощью той же самой Arduino. Т.е. любую плату Arduino можно превратить в программатор, залив туда специальный скетч.

Я не буду в этой статье описывать все премудрости создания программатора на основе Arduino, т.к. эта тема довольно подробно описана в интернете. В качестве программатора я использовал Arduino Uno. Как известно, прошивка производится через отдельный разъем ICSP, который есть почти на всех платах. В случае прошивки Arduino Pro Mini, у которого нет IСSP, подключение производится непосредственно к выводам.

Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог
Для чего нужен вачдог. Смотреть фото Для чего нужен вачдог. Смотреть картинку Для чего нужен вачдог. Картинка про Для чего нужен вачдог. Фото Для чего нужен вачдог

Где взять загрузчик, который поддерживает watchdog?

Эта глава напоминает танцы с бубном и скорее всего можно сделать все как-то проще, но, увы, у меня по-другому не получилось.

Рекомендуется использовать загрузчики из пакета optiboot. В принципе, эти загрузчики идут в инсталляции самой платформы Arduino, но лучше скачать и установить последнюю версию optiboot отсюда. Установка заключается в двух шагах (возможно, это можно сделать как-то по-другому):

Далее перегружается среда разработки и в меню Сервис/Плата можно наблюдать новые платы с пометкой [optiboot]. К сожалению, при выборе этих плат происходят какие-то непонятные ошибки компиляции и появляются всякие другие странности… поэтому делаем еще проще. Открываем в любом текстовом редакторе файл C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt и меняем следующие строчки:

Для Arduino Nano:
menu.cpu.nano.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

Для Arduino Mini:
menu.cpu.mini.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

Следующая проблема в том, что загрузчика optiboot для платы Arduino Mega не существует в природе, т.к. в Mega больше памяти и используется другой протокол. Поэтому мы используем стандартный, но модифицированный загрузчик, который качаем отсюда. Файл переименовываем в stk500boot_v2_mega2560_2.hex и записываем в папку C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\stk500v2.

Далее меняем в уже знакомом файле boards.txt следующую строчку:
mega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560_2.hex

Не пугайтесь, что файл модифицированной прошивки для Mega в 2 раза меньше стандартного — так вроде бы должно быть.

Процесс прошивки

После всех изменений можно прошивать загрузчики, выбирая в меню плат обычные платы (не [optiboot]!). В этом случае прошиваться будут именно те файлы hex, которые мы указали в файле board.txt.
Процесс прошивки может не стартовать и выдаваться ошибка:

Для решения этой проблемы откройте скетч программатора и в секции setup выберите другую скорость последовательного порта.
Во время заливки в Arduino Mega может появляться ошибка, которую следует игнорировать:

Заключительные манипуляции

Загрузчики optiboot имеют еще одну особенность — они увеличивают скорость загрузки скетчей, поэтому при использовании плат с optiboot нужно внести соответствующие изменения в boards.txt:

Для Arduino Nano:
menu.cpu.nano.atmega328.upload.speed=115200
Для Arduino Mini:
menu.cpu.mini.atmega328.upload.speed=115200

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *