Оглавление:
- Шаг 1: несколько слов
- Шаг 2. Что такое загрузчик? (Optiboot)
- Шаг 3: Мастер эскизов Arduino
- Шаг 4: Настройка оборудования
- Шаг 5: Программирование
- Шаг 6: Отключитесь
- Шаг 7: Подключитесь
- Шаг 8: Состояние программирования
- Шаг 9: веселье начинается!:)
- Шаг 10: новый чип
- Шаг 11: ОТКАЗ
- Шаг 12: Когда случаются странные вещи
Видео: Руководство по записи загрузчика Atmega328P-PU (Optiboot): 12 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Очередной образ записи загрузчика Atmega. Но на этот раз я уверен, что с первой попытки у вас все получится !!
Это руководство по записи загрузчика Ника Гаммонса для плат Arduino.
Шаг 1: несколько слов
Микроконтроллер Atmega328P-PU - один из самых популярных чипов Arduino, которые широко используются во всем мире. Но, что важнее всего, Atmega по-прежнему делает то, на что способен стандартный Uno R3. Основная причина, по которой я люблю этот микроконтроллер, - это режим «Low Power». Я написал несколько новых эскизов для нескольких датчиков и какое-то время тестирую их.
Через несколько лет, когда я начал играть с Arduino, моим первым заказом был микроконтроллер Atmega328P. Позже я понял, что те, что заказывал на Алиэкспресс, - это пустые фишки. Чипы на Али очень дешевые, их можно купить от 1,40 $. Но в них не было загрузчика Uno (Optiboot), и без него я не мог загружать скетчи. Жесткий перерыв, ха ?? !! Для меня это был действительно холодный душ …… Так что я искал способ записать загрузчик на чипы. Я пробовал 5 или 6 методов, но безуспешно. Через неделю я нашел тему на форуме веб-сайта, в которой упоминалось руководство по записи загрузчика Ника Гаммона. Первая попытка и УСПЕХ !!: D Теперь я покажу вам, как легко записать загрузчик, чтобы очистить чипы Atmega328P-PU, не испортив вещи в Arduino IDE.
Шаг 2. Что такое загрузчик? (Optiboot)
Загрузчик - это небольшая программа (файл HEX, 0,5 Кбайт), которая позволяет выгружать скетчи во флеш-память прямо из Arduino IDE. Файл HEX всегда запускается перед основной программой, поэтому он и нужен.
Без загрузчика:
-Микроконтроллер все еще МОЖЕТ БЫТЬ ПРОГРАММИРОВАТЬ! (Да, это возможно), но для этого вам понадобится специальный программатор AVR. И это недешево!
- Его нельзя запрограммировать через Arduino IDE.
Поддерживаемые загрузчики этого метода:
Atmega8 (1024 байта)
Atmega168 Optiboot (512 байт)
Atmega328 Optiboot (для Uno и т. Д. На 16 МГц) (512 байт)
Atmega328 (8 МГц) для Lilypad и т. Д. (2048 байт)
Atmega32U4 для Леонардо (4096 байт) Atmega1280 Optiboot (1024 байт)
Atmega1284 Optiboot (1024 байта)
Atmega2560 с исправлениями проблемы сторожевого таймера (8192 байта)
Atmega16U2 - загрузчик на микросхеме интерфейса USB Uno
Atmega256RFR2 - загрузчик на плате Pinoccio Scout
Код для следующих загрузчиков включен в эскиз и будет загружен в зависимости от обнаруженной сигнатуры.
Итак, у нас есть все необходимое.
Шаг 3: Мастер эскизов Arduino
Прежде всего вам понадобится библиотека arduino.
Загрузите его отсюда:
Или скачайте отсюда.
После того, как вы скачали, распакуйте его в библиотеки Arduino для поиска и найдите Board Programmer. Откройте его и запустите Board Programmer.ino.
Шаг 4: Настройка оборудования
Есть 3 способа подключения перед программированием:
- Используйте экран AVR ISP
- от Arduino A до Arduino B
- И макетным способом
На картинке вы можете увидеть, как подключиться. На макетной плате керамические конденсаторы не нужны, а вот кристалл на 16 МГц нужно добавить.
На этот раз я использую свой AVR ISP Shield.
Цель этого метода состоит в том, чтобы программа использовала последовательный монитор для доступа к флеш-памяти для записи Optiboot (загрузчика).
Шаг 5: Программирование
После завершения настройки оборудования запустите Board Programmer.ino!
Скомпилируйте и загрузите в Arduino, но не закрывайте окно !! Вам это понадобится:)
Загрузка займет несколько секунд.
Шаг 6: Отключитесь
После того, как вы загрузили скетч, отключите Arduino от вашего ПК и подключите все, если вы планируете сделать это на макетной плате.
Если вы используете экран AVR, вставьте чип Atmega в разъем ZIF и «заблокируйте» его.
Очень важно: пока оборудование не настроено, процессор не должен получать VCC !! Таким образом вы рискуете получить повреждения !!
Шаг 7: Подключитесь
Ok! Оборудование настроено и все на месте, мы подключаем Arduino к ПК.
Затем откройте монитор последовательного порта и установите скорость передачи 115200, и вы увидите это.
На последовательном мониторе вы можете увидеть, что Arduino вошел в режим программирования. Прохладный!!:)
Поскольку мы хотим запрограммировать Uno (Atmega328P), введите «U» в строке сообщения и нажмите Enter.
Шаг 8: Состояние программирования
В следующем окне вы это увидите.
Мы не выходим и не проверяем, набираем G и нажимаем Enter!
Шаг 9: веселье начинается!:)
После нажатия Enter вы увидите это:
Стирание чипа… Запись загрузчика…
Страница подтверждения, начиная с 0x7E00 Страница подтверждения, начиная с 0x7E80
Страница фиксации, начиная с 0x7F00
Страница фиксации, начиная с 0x7F80
Написано. Подтверждение…
Ошибок не обнаружено.
Запись предохранителей… LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Байт блокировки = 0xEF Калибровка часов = 0x9E
Выполнено.
Режим программирования выключен. Наберите "C", когда будете готовы продолжить работу с другим чипом…
И счастливого дня !!: D Теперь ваш чип Atmega328P готов к загрузке скетчей!
Это было легко, не правда ли?:)
Шаг 10: новый чип
Если вы хотите запрограммировать другой чип, отключите Arduino от вашего ПК, замените чип на пустой. Повторно подключите Arduino и повторите шаги еще раз.
Если последовательный монитор не отвечает после повторного подключения Arduino, не паникуйте, просто закройте его и откройте новый.
Шаг 11: ОТКАЗ
Я НИЧЕГО НЕ ВЛАДЕЛЯЮ !! Вся заслуга Ника Гаммона !!
Я только что показал этот метод в этой инструкции.
Надеюсь, вы найдете это полезным.
Хорошего дня.
Шаг 12: Когда случаются странные вещи
Недавно я получил этот Arduino Nano с процессором Atmega328P-MU.
Я попытался загрузить на него скетч, но не смог. Процессор ни на что не реагировал с опциями Atmega328.
OK! Так что, возможно, загрузчик поврежден и нуждается в перезаписи. Я подключил его к другому ардуино и записал загрузчик. Еще ничего……!!!!
Хорошо, тогда мне нужен тормоз (кофе и сигарета) !! В качестве последнего шанса я снова выбрал Arduino Uno в качестве цели. Загрузка завершена: D
На данный момент у меня есть Nano, который действует как Arduino Uno. Я не знаю, почему это произошло, но я думаю, что это из-за сигнатуры процессора. В любом случае это действительно сделало мой день и это немного забавно:)
Рекомендуемые:
Прошивка загрузчика Arduino на ATMega328: 4 шага
Прошивка загрузчика Arduino на ATMega328: этот учебник содержит инструкции по загрузке загрузчика в среде ATmega, представленной на плате за создание нового файла, sia vergine; Come ad esempio nel caso in cui si vuole realizzare la Drivemall
Z80 MBC2 - повторная компиляция QP / M Bios и загрузчика: 6 шагов
Z80 MBC2 - повторная компиляция QP / M Bios и загрузчика: если, как и я, вы окажетесь в положении, когда вам нужно повторно скомпилировать биос QP / M для вашего MBC2 - тогда вы это сделаете следующим образом. Я задокументировал процесс перекомпиляции существующей версии. Вы должны вносить изменения в фактическую Bios
Домашняя камера записи DIY ($ 66.00): 11 шагов (с изображениями)
Домашняя будка для записи «сделай сам» (66,00 долларов). Около четырех лет назад я написал учебник по астрономии и аудиокнигу, в которых рассказывалось о 110 объектах Мессье, которые можно увидеть в телескоп. Зритель может слушать интересные факты и историю этих небесных объектов, не испытывая
Voicetron - Игрушка для записи голоса: 40 шагов (с картинками)
Voicetron - игрушка для записи голоса: это устройство было создано для удовольствия и вдохновения для всех, кто хотел бы сделать простой диктофон для своих детей, чтобы играть, или в качестве украшения, или использовать в геокешинге или в квестах. Есть много возможностей. Итак, давайте перейдем к этому
Экран программирования загрузчика ATMEGA328 для Arduino Uno: 3 шага (с изображениями)
Экран программирования загрузчика ATMEGA328 для Arduino Uno: Экран программирования загрузчика ATMEGA328P для Arduino Uno Иногда такое случается, и вы повреждаете свой микропроцессор Arduino Uno Atmega328P. Вы можете поменять процессор. Но сначала нужно запрограммировать в нем загрузчик. Итак, в этом руководстве, как сделать этот б