BOB51 писал(а):Но оно завязано на IDE, для "автономного" применения не годиться.
Почему не годится?
Я пока бегло прочёл, суть примерно следующая:
1. Arduino IDE -> File -> Examples -> ArduinoISP - готовое приложение-программатор, превращающее плату Arduino в программатор. Только этот этап завязан на Arduino IDE.
2. Компилируем прошивку, например, для Attiny13 в avrasm2 или avr-gcc, получаем hex-файл.
3. Подключаем микросхему Attiny13 к "программатору", выводы указаны в самом примере.
4. Прошиваем Attiny13 при помощи avrdude.
Неясно только как плата Arduino поймёт: прошивать себя или Attiny13? Тут определённо есть какая-то хитрость.
А может я и сильно ошибаюсь.
Добавлено after 3 minutes 2 seconds: veso74, спасибо. )) Я как раз набирал пост об этом.
Вот строка из приложений поста ранее для прошивки самого 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 программа проходит к целевой микросхеме?
BOB51 писал(а):Неужели Siprog для СОМ порта материнки ПК и софт-оболочки аврдудешелл так сложно сделать?
У меня только ноутбук, кроме USB портов нет. Поэтому какой-то мост всё равно делать придётся.
Немного не по теме:СпойлерИнтересно, сколько микросхем дискретной логики потребуется для реализации моста USB->TTL? Естественно, в режиме самой малой скорости. Возможно ли на базе 74HC?
Любая из имеющихся в продаже платок для адуринки - там минимум четыре разных варианта микросхем встречаются.
Можно и платку с ftdi поставить (она же бывает под торговой маркой "пиранья"(piranha)).
Вроде даже было чегось на ее основе в качестве программатора...
[uquote="squirrel5",url="/forum/viewtopic.php?p=4333417#p4333417"]Вот строка из приложений поста ранее для прошивки самого 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 программа проходит к целевой микросхеме?[/uquote]
"atmega328p" ="m328p"
Загрузчик arduino (bootloader) не задевает и не может задеть сам себя - аппаратные ограничения.
"Avrisp" - не знаю такого ключа для avrdude и не использовал. Использовал еще "Usbasp" - это про другой программатор, который работает как мост USB - ISP и ему на загрузчик ардуино "до ентого места", ибо только и он и может этот bootloader перезаписать. Только железку надо докупать или из еще одной Arduino делать такой программатор (выше писали про это).
А вот со скоростью работы загрузчика "arduino" есть тонкость. Вроде так там дела - все брендовые Ардуинки, и аналоги, прошитые Optiboot работают на 115200. Аналоги Nano и Pro mini, купленные в Китае обычно имели "старый" bootloader и работали на 57600. Других скоростей bootloader прока еще не видел.
Сам встроенный мост USB-UART (не важно какой фирмы) не имеет своей скорости и работает на скорости UART, которую задает bootloader.
После того как Ваша программа получит управления можете поставить любую другую скорость для общения с компом для Ваших целей.