Вот строка из приложений поста ранее для прошивки самого Arduino:
avrdude -v -p atmega328p -c arduino -P COM4 -b 115200 -D -U flash:w:"main.hex":i
-p atmega328p - тип МК
-c arduino - тип программатора
-P COM4 - имя виртуального COM-порта
-b 115200 - скорость передачи
-D -U - устанавливает сброс памяти программ (загрузчик, получается, не задевает?)
flash:w:"main.hex":i - "в флэш-память записать main.hex в формате Intel Hex"
В строке из Avrdudess разница в типе МК и скорости...
Странно, я ожидал что тип программатора тоже будет другим: avrisp. Всё-таки Arduino его функцию выполняет.
Тогда разница получается в скорости. То есть на 115200 программа пишется в МК платы Arduino, а при 19200 программа проходит к целевой микросхеме?
"atmega328p" ="m328p"
Загрузчик arduino (bootloader) не задевает и не может задеть сам себя - аппаратные ограничения.
"Avrisp" - не знаю такого ключа для avrdude и не использовал. Использовал еще "Usbasp" - это про другой программатор, который работает как мост USB - ISP и ему на загрузчик ардуино "до ентого места", ибо только и он и может этот bootloader перезаписать. Только железку надо докупать или из еще одной Arduino делать такой программатор (выше писали про это).
А вот со скоростью работы загрузчика "arduino" есть тонкость. Вроде так там дела - все брендовые Ардуинки, и аналоги, прошитые Optiboot работают на 115200. Аналоги Nano и Pro mini, купленные в Китае обычно имели "старый" bootloader и работали на 57600. Других скоростей bootloader прока еще не видел.
Сам встроенный мост USB-UART (не важно какой фирмы) не имеет своей скорости и работает на скорости UART, которую задает bootloader.
После того как Ваша программа получит управления можете поставить любую другую скорость для общения с компом для Ваших целей.