Вопрос

Я в настоящее время работаю над проектом, используя доску Arduino UNO (Rev3). В конце концов, я мог бы позволить ему работать независимо от Arduino, и это заставило меня думать, как работает все программирование и загрузчик.

Вот то, что я знаю / предполагаю до сих пор:

  1. Доска имеет две чипы: ATMEGA328 (главный чип) и ATMEGA16U2 (используется в качестве USB-последовательного BIGID).

  2. Прошивка ATMEGA16U2 может быть изменена путем активации DFU-режима и с использованием E.G. DFU-программист. Затем Arduino может быть распознан как устройство HDI / MIDI, но больше не программируется.

  3. При программировании ATMEGA328 чип сбрасывается и на перезапуске загрузчик загружает и напишет новую программу через последовательное соединение и Atmega16U2-мост. ISP-интерфейс чипа не используется для загрузки новой программы. Кто инициирует сброс в первую очередь?

  4. Arduino можно использовать в качестве POSP-программиста для программирования других внешних чипов. Для того, что некоторые прошивки загружаются на Aatmega328 aatmega328 isp-контакты чипа, которые будут запрограммированы, подключены к одному на доске Arduino. Затем Arduino-IDE настроен на использование ATMEGA328 в качестве программиста, а не перепрограммировать его.

  5. Я надеюсь, по крайней мере, большинство из того, что я написал, правильно. Мои вопросы тогда:

    Если я положу новый / пустой AVR на мою доску, как загрузчик попадает на этот чип? Как работает команда «Bootloader Bootloader»?

    Можно ли загрузить шестигранный файл в ATMEGA328, не загружая загрузчик сначала? Может ли это сделать с помощью прошивки SpeciAF на ATMEGA16U2?

    Спасибо!

    jhannes

Это было полезно?

Решение

Программист ISP (либо ARDUINOIP, либо дискретный программист, такой как USBASP), можно использовать для программирования Flash, EEPROM, битов предохранителей и блокировку блокировки AVR, не требуя ранее существующего загрузчика.Он использует PIN-контакты SPI на устройстве для отправки команд устройству для манипулирования содержимым ненутичным хранением.

ATMEGA16U2 имеет только соединения UART к 328;Нет возможности программировать использование UART без загрузчика на 328.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top