Arduino:Хакинг/Обновление прошивки ATmega16u2 на Arduino Due: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Обновление прошивки ATmega16u2 на Arduino Due<ref>[https://www.arduino.cc/en/Hacking/Upgrading16U2Due www.arduino.cc - Upgrading the firmware of the Arduino Due Programming port 16U2]</ref>=
=Обновление прошивки ATmega16u2 на Arduino Due<ref>[https://www.arduino.cc/en/Hacking/Upgrading16U2Due www.arduino.cc - Upgrading the firmware of the Arduino Due Programming port 16U2]</ref>=
Строка 44: Строка 44:
Для апдейта прошивки нужно воспользоваться инструментом командной строки под названием '''«avrdude»''', который уже имеется в папке, куда установлена '''IDE Arduino'''. Если точнее, то по маршруту  
Для апдейта прошивки нужно воспользоваться инструментом командной строки под названием '''«avrdude»''', который уже имеется в папке, куда установлена '''IDE Arduino'''. Если точнее, то по маршруту  


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
«/path_to_arduino/arduino.1.5.x/hardware/tools».
«/path_to_arduino/arduino.1.5.x/hardware/tools».
</syntaxhighlight>
</syntaxhighlight>
Строка 54: Строка 54:
Самым первым делом нужно пройти к папке, содержащей '''avrdude''', который идет в комплекте с '''IDE Arduino'''. Для этого открываем окно терминала и пишем следующее:
Самым первым делом нужно пройти к папке, содержащей '''avrdude''', который идет в комплекте с '''IDE Arduino'''. Для этого открываем окно терминала и пишем следующее:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
cd /home/USER/arduino-1.5.2/hardware/tools
cd /home/USER/arduino-1.5.2/hardware/tools
</syntaxhighlight>
</syntaxhighlight>
Строка 60: Строка 60:
Путь к папке с '''IDE Arduino''' зависит от того, куда вы ее установили. Затем запускаем '''avrdude''', попутно указывая все параметры, необходимые для записи прошивки. Вот так эта строчка выглядит в полном виде:
Путь к папке с '''IDE Arduino''' зависит от того, куда вы ее установили. Затем запускаем '''avrdude''', попутно указывая все параметры, необходимые для записи прошивки. Вот так эта строчка выглядит в полном виде:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
/home/USER/arduino-1.5.2/hardware/tools$ ./avrdude -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i
/home/USER/arduino-1.5.2/hardware/tools$ ./avrdude -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i
</syntaxhighlight>
</syntaxhighlight>
Строка 70: Строка 70:
Когда окно с командной строкой откроется, в нем должна быть запись, похожая на...
Когда окно с командной строкой откроется, в нем должна быть запись, похожая на...


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
C:\Users\USER
C:\Users\USER
</syntaxhighlight>
</syntaxhighlight>
Строка 76: Строка 76:
Чтобы переместиться в папку с '''IDE Arduino''', пишем следующее (зависит от того, куда вы ее установили):
Чтобы переместиться в папку с '''IDE Arduino''', пишем следующее (зависит от того, куда вы ее установили):


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
cd arduino-1.5.2\hardware\tools
cd arduino-1.5.2\hardware\tools
</syntaxhighlight>
</syntaxhighlight>
Строка 82: Строка 82:
Затем запускаем '''avrdude''', указывая все параметры, необходимые для записи прошивки. Вот так эта строчка будет выглядеть в полном виде:
Затем запускаем '''avrdude''', указывая все параметры, необходимые для записи прошивки. Вот так эта строчка будет выглядеть в полном виде:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
arduino-1.5.2/hardware/tool> avrdude.exe -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i
arduino-1.5.2/hardware/tool> avrdude.exe -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i
</syntaxhighlight>
</syntaxhighlight>
Строка 88: Строка 88:
===Подробнее о параметрах===
===Подробнее о параметрах===


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
-C avrdude.conf – загружает конфигурационный файл для использования Arduino Uno в качестве программатора
-C avrdude.conf – загружает конфигурационный файл для использования Arduino Uno в качестве программатора
-c arduino – указывает программатор, который вы хотите использовать
-c arduino – указывает программатор, который вы хотите использовать
Строка 99: Строка 99:


=См.также=
=См.также=
{{ads}}
 
=Внешние ссылки=
=Внешние ссылки=


<references />
<references />
{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Портал/Arduino}}
{{Навигационная таблица/Arduino библиотеки}}
{{Навигационная таблица/Arduino продукты}}
{{Навигационная таблица/Arduino/Примеры}}
{{Навигационная таблица/Телепорт}}


[[Категория:Хакинг]]
[[Категория:Хакинг]]
[[Категория:Хакинг Arduino]]
[[Категория:Хакинг Arduino]]

Текущая версия от 11:37, 8 июля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Обновление прошивки ATmega16u2 на Arduino Due[1]

На Arduino Due есть порт для программирования, к которому подключен AVR-микроконтроллер ATmega16u2, который конвертирует USB-сигналы, идущие от компьютера на первый последовательный порт SAM3X. В этом руководстве рассказывается, как обновлять прошивку ATmega16u2 при помощи платы Arduino Uno или Mega, используемой в качестве AVR-ISP (внутрисхемного программатора).

Инструкции

Чтобы использовать плату Arduino для записи загрузчика на AVR, вам нужно проделать несколько простых шагов:

  1. Открываем скетч «ArduinoISP»Файл > Примеры) в IDE Arduino
  2. Выбираем пункты в меню Инструменты > Плата и Инструменты > Порт, соответствующие тому, какую плату вы собираетесь использовать в качестве программатора (т.е. не ту, которую вы собираетесь программировать)
  3. Загружаем скетч «ArduinoISP»
  4. Подключаем 100-микрофарадный конденсатор между контактами GND и RESET
  5. Подключаем несколько контактов Arduino Uno (Mega) к ICSP-коннектору ATmega16u2:


Uno Mega 16u2 ICSP
SCK 13 52 3
MISO 12 50 1
MOSI 11 51 4
Reset 10 10 5
GND GND GND 6
+5V 5V 5V 2

Arduino Due будет брать питание от Arduino Uno, настроенной как AVR-программатор. Более подробно о соединении между Uno/Mega и ICSP-коннектором, к которому подключен программируемый чип, смотрите в этом руководстве.

Обновление прошивки при помощи avrdude

Для апдейта прошивки нужно воспользоваться инструментом командной строки под названием «avrdude», который уже имеется в папке, куда установлена IDE Arduino. Если точнее, то по маршруту

«/path_to_arduino/arduino.1.5.x/hardware/tools».

Прошивка, загружаемая на 16u2, имеет бинарный формат с расширением «*.hex».

Linux и Mac

Самым первым делом нужно пройти к папке, содержащей avrdude, который идет в комплекте с IDE Arduino. Для этого открываем окно терминала и пишем следующее:

cd /home/USER/arduino-1.5.2/hardware/tools

Путь к папке с IDE Arduino зависит от того, куда вы ее установили. Затем запускаем avrdude, попутно указывая все параметры, необходимые для записи прошивки. Вот так эта строчка выглядит в полном виде:

/home/USER/arduino-1.5.2/hardware/tools$ ./avrdude -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i

Windows

Самым первым делом нужно пройти к папке, содержащей avrdude, который идет в комплекте с IDE Arduino. Для этого открываем окно с командной строкой – кликаем на «Выполнить», в появившемся окне пишем «cmd» и нажимаем  ↵ Enter .

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

C:\Users\USER

Чтобы переместиться в папку с IDE Arduino, пишем следующее (зависит от того, куда вы ее установили):

cd arduino-1.5.2\hardware\tools

Затем запускаем avrdude, указывая все параметры, необходимые для записи прошивки. Вот так эта строчка будет выглядеть в полном виде:

arduino-1.5.2/hardware/tool> avrdude.exe -C avrdude.conf -c arduino -P /dev/ttyACM0 -b 19200 -p m16u2 -vvv -U flash:w:/home/USER/newFirmware/16u2.hex:i

Подробнее о параметрах

-C avrdude.conf  загружает конфигурационный файл для использования Arduino Uno в качестве программатора
-c arduino  указывает программатор, который вы хотите использовать
-P /dev/ttyACM0  USB-порт, к которому подключен программатор
-b 19200  скорость передачи данных в бодах
-p m16u2  девайс, который вы собираетесь программировать
-vvv  включает выдачу более подробной отладочной информации
-U flash:w:/home/USER/newFirmware/16u2.hex:i  указывает, что вы хотите записать (w) файл формата «*.hex» на flash-память

См.также

Внешние ссылки