Защита Arduino от перепрограммирования - возможно ли?

Тема в разделе "Arduino & Shields", создана пользователем DenisNP, 1 авг 2013.

  1. DenisNP

    DenisNP Нерд

    Всем привет.

    У меня Arduino Due с двумя USB-портами. Есть мысль использовать штатный (второй) USB для слива информации с карты памяти на компьютер. Но текущая версия программы Arduino 1.5.2 позволяет заливать скетчи через любой порт, если Ардуино подключен к компьютеру.

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

    Это возможно?

    Заранее спасибо :)
     
  2. Unixon

    Unixon Оракул Модератор

    Да, возможно. При программировании нужно установить соответствующие "lock bits". Например, при помощи avrdude. Только аккуратнее, не заблокируйте случайно МК для себя, если нет под рукой программатора с высоковольтным режимом программирования (HV PROG, 12V на RESET - позволяет воскрешать МК, меняя fuse/lock bits, недоступные в обычном LV режиме).
     
  3. DenisNP

    DenisNP Нерд

    Я так понял, нужен именно хардварный программатор, и одной платы Arduino для этого недостаточно? Или все-таки через USB можно один раз залить и заблокировать?
     
  4. Unixon

    Unixon Оракул Модератор

    Нужен программатор. В качестве такового может выступать любая ардуина со скетчем ArduinoISP. Через USB нельзя делать все то, что можно через ISP, т.к. в первом случае вы взаимодействуете с загрузчиком в МК, а во втором - непосредственно с самим МК.
     
    DenisNP нравится это.
  5. DenisNP

    DenisNP Нерд

    Отлично, спасибо за информацию :)