Arduino:Хакинг/Обновление прошивки ATmega16u2 на Arduino Due: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 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 | <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 | <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 | <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 | <syntaxhighlight lang="c"> | ||
C:\Users\USER | C:\Users\USER | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 76: | Строка 76: | ||
Чтобы переместиться в папку с '''IDE Arduino''', пишем следующее (зависит от того, куда вы ее установили): | Чтобы переместиться в папку с '''IDE Arduino''', пишем следующее (зависит от того, куда вы ее установили): | ||
<syntaxhighlight lang="c | <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 | <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 | <syntaxhighlight lang="c"> | ||
-C avrdude.conf – загружает конфигурационный файл для использования Arduino Uno в качестве программатора | -C avrdude.conf – загружает конфигурационный файл для использования Arduino Uno в качестве программатора | ||
-c arduino – указывает программатор, который вы хотите использовать | -c arduino – указывает программатор, который вы хотите использовать | ||
Строка 103: | Строка 103: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
[[Категория:Хакинг]] | [[Категория:Хакинг]] | ||
[[Категория:Хакинг Arduino]] | [[Категория:Хакинг Arduino]] |
Текущая версия от 11:37, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Обновление прошивки ATmega16u2 на Arduino Due[1]
На Arduino Due есть порт для программирования, к которому подключен AVR-микроконтроллер ATmega16u2, который конвертирует USB-сигналы, идущие от компьютера на первый последовательный порт SAM3X. В этом руководстве рассказывается, как обновлять прошивку ATmega16u2 при помощи платы Arduino Uno или Mega, используемой в качестве AVR-ISP (внутрисхемного программатора).
Инструкции
Чтобы использовать плату Arduino для записи загрузчика на AVR, вам нужно проделать несколько простых шагов:
- Открываем скетч «ArduinoISP» (в Файл > Примеры) в IDE Arduino
- Выбираем пункты в меню Инструменты > Плата и Инструменты > Порт, соответствующие тому, какую плату вы собираетесь использовать в качестве программатора (т.е. не ту, которую вы собираетесь программировать)
- Загружаем скетч «ArduinoISP»
- Подключаем 100-микрофарадный конденсатор между контактами GND и RESET
- Подключаем несколько контактов 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-память
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |