8-900-374-94-44
[email protected]
Slide Image
Меню

Перепрошивка загрузчика arduino due: Мёртвая Arduino, или Как спасти плату / Хабр

Содержание

Мёртвая Arduino, или Как спасти плату / Хабр

Aromik

Время на прочтение 2 мин

Количество просмотров

13K

Разработка под Arduino *

Привет, Хабр!

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

Итак, нам дана плата Arduino (неважно, какая), в которую не вгружается скетч. Что же с ней делать?

  1. Проверить настройки IDE.

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

  2. Драйверы.

    Иногда проблема кроется в отсутствии драйверов для работы с платой. Если на плате есть микросхема Ch440, то для неё нужно установить драйвер, и тогда всё скорее всего заработает. Найти его можно, например, здесь

  3. Serial

    Если Ваша плата общается с другими программами на компьютере (Putty, монитор порта и др.), то отключите от неё все программы, с вероятностью 90% все заработает.

  4. Периферия

    Если в Вашем проекте к пинам RX и TX (имеются в виду 0-ой и 1-ый пины), то отключите от них всё, иначе прошивка не будет загружаться

Если всё вышеперечисленное не помогло, то проблема кроется в микроконтроллере. Для решения этой проблемы есть несколько способов:

  1. Прошивка через программатор

    Если у Вас есть программатор, поддерживаемый Arduino IDE, то подключите к нему свою плату и попробуйте записать загрузчик. Если не помогает, то переходите к пункту 2. Если же у Вас нет программатора, то можно сделать его из другой платы Arduino, загрузив в неё стандартный пример ArduinoISP, и собрав всё по схеме.

    Конденсатор ставим обязательно, без него может не работать. Потом выбираем тип платы, которую будем прошивать, и выбираем программатор «Arduino as ISP». Потом заливаем прошивку.

Если же Вам не помогла и прошивка через программатор, то с вероятностью 99,9% ваша плата умерла.

Однако, у меня был похожий случай с платой Arduino Leonardo, и мне чудом удалось её спасти. Проблема была такова: При подключении платы к компьютеру он замечал её только минуты через 2. При загрузке прошивки компиляция проводилась успешно, но перед началом загрузки прошивки плата, как обычно сбрасывалась (это происходит всегда и для всех плат), и компьютер переставал её видеть вообще, даже после 10 минут ожидания. Решением стала установка такого же конденсатора между пином RESET и GND. Он предотвращает сброс платы.

Спасибо за внимание!

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

Какой пункт решил Вашу проблему?

0% Проверка настроек IDE 0

7. 69% Драйверы 2

0% Serial 0

0% Периферия 0

15.38% Прошивка через программатор 4

3.85% Конденсатор на RESET 1

69.23% Ничего 18

3.85% Замена МК 1

Проголосовали 26 пользователей. Воздержались 44 пользователя.

Теги:

  • Arduino
  • isp
  • программатор

Хабы:

  • Разработка под Arduino

104-Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика (Bootloader). — GetChip.net

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

Нас, прежде всего, интересуют три платы Arduino:
Arduino Uno – как самый распространенный вариант
Arduino Nano – компактный вариант, удобный для применения в небольших конструкциях
Arduino Pro Mini – дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.

Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).

Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf (Одна Загрузка)

Одной из главных причин выбора платы Arduino для проекта робота была возможность записывать прошивку устройства в МК не применяя программатора и каких либо дополнительных устройств. Все что нужно для прошивки микроконтроллера Arduino – это стандартный USB шнур (который входит в комплект Arduino).

Это значит, если Вы имеете Ардуину – Вы имеете любое устройство ZiChip!

Запись программы в МК через USB происходит через специальный загрузчик (Bootloader), который записан в МК при изготовлении платы. Вообще, загрузчик предназначен для работы со своим специальным программным обеспечением Arduino IDE, но в случае, когда необходимо прошить в Ардуину что-то постороннее (свой Hex-файл), есть программки позволяющее это реализовать.

Начнем, конечно, с моей программы загрузчика

GC-Uploader

gcUploader.zip (24010 Загрузок)

Программа интересна тем, что выбранный HEX-файл будет заливаться в Ардуину автоматически после каждого его изменения. Это удобно, так как при разработке проекта каждая компиляция (обновление хекса) будет инициировать прошивку Ардуины — Вам ничего не придется делать самому! Кроме того в программе есть и ручной режим прошивки.

 

Следующая — маленькая и удобная
XLoader (Arduino HEX uploader)

XLoader.zip (26648 Загрузок)

Программка имеет аскетичный интерфейс и работать с ней предельно просто:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт, который создался при подключении Arduino к USB (скорость порта автоматически подставится при выборе типа Arduino)
— жмем Upload

Это все! Ничего сложного. Прошивка через несколько секунд будет записана в МК и автоматически запустится. Один минус – программа никак не сообщает о том, что прошивка уже записана, но это можно увидеть по прекращению мерцания светодиодов RXD и TXD на Ардуине.

XLoader использует для записи прошивки AVR Dude и в качестве протокола программирования используется STK500. Но, похоже, в настройках AVR Dude, произведена коррекция, так как использование стандартного AVR Dude с такими же настройками не дает результатов.

Автоматизация XLoader.

При разработке ПО для микроконтроллера производится очень много прошивок и всегда нужно стремиться автоматизировать этот процесс после сборки проекта — это экономит время и нервы. В данном случае автоматизация усложнена, так как программа не показывает командную строку для AVR Dude (разве что подбирать опытным путем), но некоторое упрощение процесса возможно. Делается это следующим способом – после первой прошивки не закрываем окно программы (COM порт после прошивки программа отпускает) и после следующей сборки проекта просто жмем кнопку «Upload».

Конечно, сборка должна осуществляться в один и тот же Hex-файл.

 

Еще одна программка
ARP Uploader (Arduino Hex Uploader and Programmer)

ArduinoUploader.zip (22899 Загрузок)

Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload

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

При попытке прошить Arduino Nano программа отказывалась видеть МК. Причиной стала неправильная установка скорости COM порта. По умолчанию скорость стоит 19200, а нужно 57600. Скорость порта в программе не задается явно, она прописывается в строчке «AVR Dude Params» — поменяйте в ней значение 19200 на 57600.

Автоматизация ARP Uploader.
ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.

 

Дополнительные материалы.
Драйвера Arduino.

Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»

Arduino_drivers.zip (13920 Загрузок)

Стали появляться недорогие китайские Ардуины с драйвером Ch440G
Driver-Ch440G.zip (Одна Загрузка)

 

Загрузчики Arduino

Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.

ATmegaBOOT_168_atmega328.zip (13055 Загрузок)
Для правильной работы нужно установить фьюзы следующим образом Low: FF   High: DA   Ext: 05

ATmegaBOOT_168_diecimila.zip (6760 Загрузок)
Фьюзы Low: FF   High: DD   Ext: 00

 

Схемы Arduino

Cхемы вышеописанных Ардуин.
Arduino_Uno_Rev3-schematic.pdf (11094 Загрузки)
ArduinoNano30Schematic.pdf (10284 Загрузки)
Arduino-Pro-Mini-schematic.pdf (9034 Загрузки)

 

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

(Visited 185 263 times, 8 visits today)

Установка загрузчика Arduino — SparkFun Learn

Авторы: M-короткий

Избранное Любимый 25

Введение

Внимание! Это руководство было написано для микроконтроллеров AVR с загрузчиком Arduino, использующим контакты ICSP. Если вы используете микроконтроллер ARM с контактами SWD, вам потребуется специальный программатор (например, Atmel JTAG ICE 3 или Atmel-ICE) для подключения к порту SWD. Для получения дополнительной информации ознакомьтесь с нашим руководством по программированию на ARM.

У вас есть заблокированный Arduino, который больше не принимает код? Или, может быть, вы написали свою собственную прошивку и хотели бы загрузить ее на свой Arduino? Или, может быть, вы просто хотите узнать больше о внутренней работе Arduino, AVR и микроконтроллеров в целом. Что ж, тебе повезло! В этом руководстве вы узнаете, что такое загрузчик, зачем вам нужно его устанавливать/переустанавливать, а также узнаете, как это сделать.

Рекомендуемая литература

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

Основы печатных плат

Что такое печатная плата? В этом учебном пособии будет рассмотрено, из чего состоит печатная плата, и некоторые общие термины, используемые в мире печатных плат.

Избранное Любимый 52

Последовательный периферийный интерфейс (SPI)

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

Избранное Любимый 91

Что такое Ардуино?

Что это вообще за «Ардуино»? В этом руководстве рассказывается о том, что такое Arduino, а также о проектах и ​​виджетах Arduino.

Избранное Любимый 53

Установка Arduino IDE

Пошаговое руководство по установке и тестированию программного обеспечения Arduino в Windows, Mac и Linux.

Избранное Любимый 16

Интегральные схемы

Введение в интегральные схемы (ИС). Вездесущие черные фишки электроники. Включает акцент на разнообразие пакетов IC.

Избранное Любимый 47

Руководство по подключению программатора Pocket AVR

Пропустите загрузчик и загрузите свою программу прямо на AVR с помощью AVR Pocket Programmer.

Избранное Любимый 10

Что такое загрузчик?

Atmel AVR — отличные маленькие ИС, но программировать их может быть немного сложно. Вам нужен специальный программатор и несколько причудливых файлов .hex , и он не очень удобен для новичков. Arduino в значительной степени покончил с этими проблемами. Они поместили файл .hex на свои микросхемы AVR, который позволяет вам программировать плату через последовательный порт, а это означает, что все, что вам нужно для программирования вашего Arduino, — это USB-кабель.

Загрузчик в основном . hex файл, который запускается при включении платы. Он очень похож на BIOS, который работает на вашем ПК. Он делает две вещи. Во-первых, он оглядывается, чтобы увидеть, не пытается ли компьютер его запрограммировать. Если это так, он берет программу с компьютера и загружает ее в память ИС (в определенное место, чтобы не перезаписать загрузчик). Вот почему, когда вы пытаетесь загрузить код, Arduino IDE сбрасывает чип. Это в основном выключает и снова включает IC, чтобы загрузчик мог снова начать работать. Если компьютер не пытается загрузить код, он сообщает чипу запустить код, который уже хранится в памяти. Как только он находит и запускает вашу программу, Arduino непрерывно выполняет цикл по программе и делает это до тех пор, пока на плате есть питание.

Зачем устанавливать загрузчик?

Если вы собираете свой собственный Arduino или вам нужно заменить микросхему, вам потребуется установить загрузчик. У вас также может быть плохой загрузчик (хотя это бывает очень редко) и вам необходимо переустановить загрузчик. Также бывают случаи, когда вы настроили свою плату в странных настройках, и переустановить загрузчик и вернуть его к заводским настройкам — это самый простой способ исправить это. Мы видели платы, на которых люди отключали последовательный порт, что означает невозможность загрузки кода на плату, хотя могут быть и другие способы исправить это, переустановка загрузчика, вероятно, самый быстрый и простой способ. Как я уже сказал, плохой загрузчик на самом деле очень и очень редок. Если у вас есть новая доска, которая не принимает код, 9В 9,9% случаев дело не в загрузчике. В оставшемся 1% случаев это руководство поможет вам решить эту проблему.

Выбор программатора

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

Вариант 1: Специализированные программаторы

Для быстрого и легкого программирования мы рекомендуем использовать карманный программатор AVR (только для Windows).

Карманный программатор AVR

В наличии ПГМ-09825

18,50 $

57

Избранное Любимый 31

Список желаний

Или вы можете использовать официальный программатор Atmel-ICE для ARM, SAM и AVR.

Программатор и отладчик Atmel-ICE

Пенсионер ПГМ-14950

Выведенный из эксплуатации

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

АВР MKII JTAG ICE3

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

Вариант 2: Использование Arduino в качестве программатора

Другой вариант — взять Arduino Uno (или Duemilanove). Если вы войдете в Arduino IDE, вы увидите пример скетча под названием «Arduino as ISP». Если вы загрузите этот код в свой Arduino, он будет действовать как программатор AVR. На самом деле это не рекомендуется для производства плат или плат с большим объемом памяти, но, в крайнем случае, это работает довольно хорошо. Также на момент написания этой статьи код работал только на платах ATmega328. Возможно, когда-нибудь это сработает на Леонардо или Дуэ, но пока нет.

Аппаратное подключение

Внутрисхемное последовательное программирование (ICSP)

Очень редко программируют микросхемы до того, как они будут припаяны к печатной плате. Вместо этого большинство микроконтроллеров имеют так называемый заголовок внутрисистемного программирования (ISP). В частности, некоторые производители ИС, такие как Atmel и Microchip, имеют специализированный метод ISP для программирования своих ИС. Это называется внутрисхемным последовательным программированием (ICSP). Большинство плат, совместимых с Arduino и Arduino, имеют 2×3-контактный разъем ICSP. У некоторых может быть даже больше одной, в зависимости от того, сколько ИС находится на печатной плате. Он размыкает три контакта SPI (MISO, MOSI, SCK), питание, землю и сброс. Это контакты, к которым вам нужно подключить программатор, чтобы перепрошить прошивку на вашей плате.

Здесь у нас Arduino Uno R3. Он имеет два заголовка ICSP: один для ATmega16U2 и один для ATmega328. Чтобы перепрошить загрузчик на этой плате, вы должны использовать только заголовок ICSP для ATmega328.

На некоторых платах меньшего размера этот разъем может быть не виден, но контакты должны быть выбиты в другом месте. Независимо от того, используете ли вы SMD IC или DIP IC, контакты ISP должны быть доступны в той или иной форме. Некоторые платы могут иметь только тестовые точки для заголовка ISP. Если это так, вы можете подумать о приобретении адаптера ISP Pogo. Этот комплект позволяет вам временно установить хорошее соединение с контрольными точками, чтобы перепрограммировать вашу микросхему.

Адаптер SparkFun ISP Pogo

В наличии КОМПЛЕКТ-11591

13,95 $

4

Избранное Любимый 13

Список желаний

Примечание: Если у вас возникли проблемы с поиском контактов ICSP на конкретной плате Arduino, просто просмотрите файлы платы Eagle или графическое описание платы для разработки. В SparkFun мы создали несколько графических таблиц для некоторых плат, которые мы производим.

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

Провода-перемычки Premium 6″ M/F Упаковка из 10 шт.

В наличии ПРТ-09140

1

Избранное Любимый 16

Список желаний

Кабель для программирования AVR

В наличии CAB-09215

3

Избранное Любимый 5

Список желаний

Подключение карманного программатора AVR к мишени

Если вы используете программатор, такой как карманный программатор AVR, ваша установка должна выглядеть примерно так, как показано ниже, со стрелкой (◄) кабеля для программирования AVR , подключенной к MISO . Если вы внимательно посмотрите на форму разъема 2×3, вы сможете заметить стрелку (◄) , указывающую на контакт 1 относительно положения стандартного разъема ICSP.

Нажмите, чтобы увеличить изображение.

Подключение Arduino в качестве интернет-провайдера к цели

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

Нажмите, чтобы увеличить изображение.

Стол для подключения

Зарядите свою цель Arduino! Убедитесь, что ваша целевая плата Arduino включена. Иначе прошить .hex 9 не получится0102 к вашей цели.

Вот таблица, которая поможет понять, какие соединения куда идут. В зависимости от Arduino у вас может быть доступ к контактам ICSP только в заголовке 2×3 ICSP. Обязательно обратитесь к макету платы для получения дополнительной информации о SPI-соединениях Arduino.

Программатор AVR Ардуино как интернет-провайдер Заголовок ICSP 2×3 ATmega328 ATmega2560 ATmega32U4
В пост. тока/5 В Штифт 2 Вкк Вкк Вкк
Земля ЗЕМЛЯ Штифт 6 ЗЕМЛЯ ЗЕМЛЯ ЗЕМЛЯ
МОСИ МОСИ/Д11 Штифт 4 Д11 Д51 Д16
МИСО МИСО/Д12 Штифт 1 Д12 Д50 Д14
СКК СКК/Д13 Контакт 3 Д13 Д52 Д15
Сброс Д10 Контакт 5 Сброс Сброс Сброс

Внимание! Соединение для 5V Arduino. Если вы подключаетесь к Arduino, использующему более низкое напряжение, убедитесь, что вы безопасно конвертируете логические уровни с помощью преобразователя между программатором и целевым Arduino.

Преобразователь логических уровней SparkFun — двунаправленный

В наличии ЛПП-12009

116

Избранное Любимый 146

Список желаний

Преобразователь уровня напряжения SparkFun — TXB0104

В наличии БОБ-11771

8

Избранное Любимый 28

Список желаний

Переводчик уровней SparkFun — PCA9306

В наличии БОБ-15439

1

Избранное Любимый 22

Список желаний

Для получения дополнительной информации ознакомьтесь с нашим руководством по логическим уровням.

Логические уровни

Узнайте разницу между устройствами 3,3 В и 5 В и логическими уровнями.

Избранное Любимый 83

Загрузка кода — простой способ

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

Самый простой способ загрузить загрузчик — использовать Arduino IDE.

Загрузить Arduino как ISP

Внимание! Вам нужно будет загрузить ArduinoISP.ino на заведомо исправный Arduino (т. е. вашу плату для программирования), прежде чем вы сможете использовать его в качестве программатора.

Возьмите хорошо зарекомендовавший себя RedBoard или Arduino Uno. Откройте среду разработки Arduino. В вашем меню выберите File > Examples > 11.ArduinoISP > ArduinoISP , чтобы открыть Arduino как эскиз ISP

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

Загрузите код на Arduino, чтобы превратить его в AVRISP.

Запись загрузчика на вашу цель

Оставьте Arduino в качестве интернет-провайдера (т.е. вашего программатора), подключенного к вашему компьютеру. Если вы еще этого не сделали, подключите целевую Arduino. Затем выберите определение платы для вашего целевого Arduino в разделе Tools > Board .

Выберите программатор, который вы используете, в меню Tools > Programmer . В этом случае наш программатор является Arduino как ISP, поэтому выберите Arduino как ISP . Вам также нужно будет выбрать COM-порт, к которому подключен Arduino в качестве интернет-провайдера, если вы еще не выбрали COM-порт.

Внимание! Вы можете встретить более одного выбора для «Arduino as ISP» в списке программистов. Любой из них будет работать. Однако «ArduinoISP» не будет работать, если он выбран.

Наконец, выберите Burn Bootloader . Это возьмет плату, которую вы выбрали в Arduino IDE, и найдет соответствующий загрузчик в файл board.txt . Затем он найдет загрузчик в папке программы Arduino IDE (в частности, « …\Arduino\hardware\arduino\avr\bootloaders ») и установит его. Это работает, только если плата правильно установлена ​​в IDE и у вас правильный загрузчик.

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


Загрузка кода — трудный путь

Сложный способ — для тех, кто хочет использовать командную строку. Этот метод может быть более предпочтительным, если вы модифицируете и перекомпилируете и не хотите постоянно обновлять IDE, но в остальном он совершенно не нужен. Опять же, вам нужно будет получить программатор и подключить все. В этом примере мы используем avrdude в Windows.

Этот процесс состоит из трех шагов:

  • Установка Fuse Bits (т. е. Low, High и Extended)
  • Флэш-память .hex Файл
  • Набор бит блокировки

Первый шаг включает настройку фьюзбитов. Fusebits — это часть микросхемы AVR, которая определяет, например, используете ли вы внешний кристалл или хотите ли вы обнаружить снижение напряжения. Команды, перечисленные ниже, предназначены специально для Arduino Uno, использующего ATMega328, они, вероятно, будут работать на некоторых других подобных платах, таких как Duemilanove, но убедитесь, что вы знаете, что делаете, прежде чем играть с фьюзбитами. Все необходимые биты предохранителей перечислены в boards.txt файл для разных плат. Опять же, если у вас установлен файл boards.txt , просто используйте простой способ. Второй шаг — собственно загрузка программы. Последним шагом является установка битов блокировки.

Примечание: Эти биты предохранителей , а не будут работать на плате 3,3 В/8 МГц. Если вы используете другой микроконтроллер, вам также потребуется настроить параметр partno.

Карманный программатор AVR

Fuse Bits

Если вы используете карманный программатор AVR для программирования целевого Arduino Uno, введите следующие команды в командной строке, чтобы установить фьюз-биты.

 язык: bash
avrdude -b 19200 -c usbtiny -p m328p -v -e -U efuse:w:0x05:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m
 
Шестнадцатеричный файл и биты блокировки

После установки фьюз-битов мы можем записать скомпилированный файл .hex на целевую плату и установить биты блокировки. Введите следующее в командной строке. Убедитесь, что вы находитесь в том же каталоге, что и ваш файл .hex , и настройте ... hexfilename.hex , который вы используете для прошивки, для вашей цели. Чтобы прошить загрузчик Arduino Uno, перейдите в папку программы Arduino. В ОС Windows он будет выглядеть примерно так: …\arduino-1.8.5\hardware\arduino\avr\bootloaders\optiboot . В папке есть несколько файлов, но нас интересует файл optiboot_atmega328.hex .

 язык: bash
avrdude -b 19200 -c usbtiny -p m328p -v -e -U flash:w:hexfilename.hex -U lock:w:0x0F:m
 

Arduino как ISP

Fuse Bits

Если вы используете Arduino в качестве ISP для программирования целевого Arduino Uno, введите следующие команды в командной строке, чтобы установить фьюз-биты.

 язык: bash
avrdude -P comport -b 19200 -c avrisp -p m328p -v -e -U efuse:w:0x05:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m
 
Шестнадцатеричный файл и биты блокировки

После установки фьюз-битов мы можем записать скомпилированный файл .hex на целевую плату и установить биты блокировки. Введите следующее в командной строке. Убедитесь, что вы находитесь в том же каталоге, что и ваш файл .hex , и настройте ... hexfilename.hex , который вы используете для прошивки, для вашей цели. Чтобы прошить загрузчик Arduino Uno, перейдите в папку программы Arduino. В ОС Windows он будет выглядеть примерно так: …\arduino-1.8.5\hardware\arduino\avr\bootloaders\optiboot . В папке есть несколько файлов, но нас интересует файл optiboot_atmega328.hex .

 язык: bash
avrdude -P comport -b 19200 -c avrisp -p m328p -v -e -U flash:w:hexfilename.hex -U lock:w:0x0F:m
 

Последняя информация. Как мы уже говорили ранее, загрузчик — это, по сути, файл .hex . Таким образом, вы можете использовать этот метод для загрузки и кода, который вы хотите для своих ИС.

Ресурсы и дальнейшее развитие

Ищете подходящий Arduino?

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

Отведи меня туда!

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

  • Arduino.cc
    • Информация о загрузчике от Arduino
    • Ардуино как интернет-провайдер
  • АВРДУДЕ
  • Распиновка для различных микросхем и макетных плат
  • Графические листы SparkFun
  • Начало работы с карманным программатором

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

Руководство по подключению программатора Tiny AVR

Практическое руководство по Tiny AVR Programmer. Как установить драйверы, подключить их и запрограммировать ваши любимые Tiny AVR с помощью AVRDUDE!

Избранное Любимый 12

Установка загрузчика на MicroView

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

Избранное Любимый 5

Руководство по программированию сервопривода

Заглянуть под капот Servo Trigger — используя среду разработки и некоторые более тонкие детали прошивки.

Избранное Любимый 4

Как установить загрузчик ATtiny с виртуальным USB

Благодаря этому вы сможете загружать скетчи Arduino напрямую в ATtiny84 через USB без необходимости использования программатора (например, другого чипа Arduino или FTDI).

Избранное Любимый 13

Pi AVR Programmer HAT Руководство по подключению

В этом руководстве мы будем использовать Raspberry Pi 3 и Pi AVR Programmer HAT для программирования цели ATMega328P. Сначала мы запрограммируем загрузчик Arduino через SPI, а затем загрузим скетч Arduino через последовательный COM-порт USB.

Избранное Любимый 4

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

Программирование ARM

Как программировать платы SAMD21 или SAMD51 (или другие процессоры ARM).

Избранное Любимый 10

ОШИБКА — 404 — НЕ НАЙДЕНА

  • Главная
  • У нас было лишнее масло.

Наши серверные гномы не смогли найти страницу, которую вы ищете.

Похоже, вы неправильно набрали URL-адрес в адресной строке или перешли по старой закладке.

Возможно, некоторые из них могут вас заинтересовать?

Преобразование флэш-памяти SparkFun microSD

В наличии БОБ-00544

14

Избранное Любимый 17

Список желаний

Набор технических средств iFixit Pro

32 в наличии ТОЛ-15255

74,99 $

1

Избранное Любимый 13

Список желаний

Raspberry Pi 4 Модель B (2 ГБ)

Нет в наличии DEV-15446

4

Избранное Любимый 142

Список желаний

MIKROE AnyNet 3G-EA Click (для ЕС и Австралии)

Нет в наличии CEL-19952

120,95 $

Избранное Любимый 0

Список желаний

Проект простого беспроводного оповещения

5 мая 2020 г.

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

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