Вопросы по загрузчику

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
squirrel5
Родился
Сообщения: 8
Зарегистрирован: Ср дек 07, 2022 14:26:28

Re: Вопросы по загрузчику

Сообщение squirrel5 »

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, спасибо. )) Я как раз набирал пост об этом.

А как это реализовать без GUI в обычном avrdude?
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Вопросы по загрузчику

Сообщение veso74 »

Узнайте, как устроена командная строка в avrdude.
https://www.cs.ou.edu/~fagg/classes/gen ... vrdude.pdf

В то время как, напр. USB порты и напр. и имя файла меняются, мне это не удобно.
Часть ком. строка видна на скриншоте.
Реклама
squirrel5
Родился
Сообщения: 8
Зарегистрирован: Ср дек 07, 2022 14:26:28

Re: Вопросы по загрузчику

Сообщение squirrel5 »

Вот строка из приложений поста ранее для прошивки самого 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
Друг Кота
Сообщения: 15585
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы по загрузчику

Сообщение BOB51 »

Неужели Siprog для СОМ порта материнки ПК и софт-оболочки аврдудешелл так сложно сделать?
Там ведь особо и деталюшек то не требуется.
8)
Реклама
Эиком - электронные компоненты и радиодетали
squirrel5
Родился
Сообщения: 8
Зарегистрирован: Ср дек 07, 2022 14:26:28

Re: Вопросы по загрузчику

Сообщение squirrel5 »

BOB51 писал(а):Неужели Siprog для СОМ порта материнки ПК и софт-оболочки аврдудешелл так сложно сделать?
У меня только ноутбук, кроме USB портов нет. :( Поэтому какой-то мост всё равно делать придётся.

Немного не по теме:
СпойлерИнтересно, сколько микросхем дискретной логики потребуется для реализации моста USB->TTL? Естественно, в режиме самой малой скорости. :) Возможно ли на базе 74HC?
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15585
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопросы по загрузчику

Сообщение BOB51 »

Любая из имеющихся в продаже платок для адуринки - там минимум четыре разных варианта микросхем встречаются.
Можно и платку с ftdi поставить (она же бывает под торговой маркой "пиранья"(piranha)).
Вроде даже было чегось на ее основе в качестве программатора...
:roll:
Реклама
С.Н.
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Пн окт 26, 2020 08:37:51
Откуда: г.Волгоград

Re: Вопросы по загрузчику

Сообщение С.Н. »

[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.
После того как Ваша программа получит управления можете поставить любую другую скорость для общения с компом для Ваших целей.
ФУОЗ на платформе Ардуино: https://radiokot.ru/forum/viewtopic.php ... 6#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"
Ответить

Вернуться в «Arduino»