Arduino Due как ISP программатор
- Войдите на сайт для отправки комментариев
Не было у меня хлопот,так решил я удариться в ардуиностроение...
И первая задача которую пытаюсь решить это прошить usbasploader в usbasp с помощью имеющейся ардуино due.
дуина+usbasp с перемычкой JP2 через NativePort определяются в системе как Bossa Programming Port, но тулза BOSSA 1.2.1 говорит что не может соединиться с девайсом на этом порту.
Какую-то ArduinoISP.ino совместимую с due нашел и залил.
Через само ArduinoIDE вообще не понятно что куда писать для due.
- Неправильными установками Плата и Программатор и нажатием BurnBootloader можно убить саму ардуину?
Выбор Arduino as ISP гарантирует что сама дуина не помрет?
- Описание "atmega8usb.name=ATmega8 USB 12 MHz" и т.д. добавлять в \hardware\arduino\sam\boards.txt или \hardware\arduino\avr\boards.txt?
Arduino Due только обкатывается
Arduino UNO R3 обкатанную возьмите и нам расскажите в чем разница.
Слово ISP забыл где-то пару лет назад.
Берем
https://github.com/PeterVH/ArduinoISP/blob/due/ArduinoISP/ArduinoISP.ino
ArduinoISP скетч подходящий для дуо, прошиваем его.
Соединяем miso, mosi, sck, gnd прошиваемого девайса с такими же выводами на разъеме "spi".
vpp для девайса берем с 3.3v пина, reset соединяем на пин 10 ардуины.
Подключаемся через Native порт.
В командах для avrdude пишем "-c arduino".
И... все работает! С ArduinoIDE не разобрался, да и не надо пока.
у меня Arduino Mega 2560 r3 отдельного программатора нет, но есть горсть avr разных. я пробовал шить их, почему то мега их не видет.
Ее можно использовать как программатор ?
Берем
https://github.com/PeterVH/ArduinoISP/blob/due/ArduinoISP/ArduinoISP.ino
ArduinoISP скетч подходящий для дуо, прошиваем его.
Соединяем miso, mosi, sck, gnd прошиваемого девайса с такими же выводами на разъеме "spi".
vpp для девайса берем с 3.3v пина, reset соединяем на пин 10 ардуины.
Подключаемся через Native порт.
В командах для avrdude пишем "-c arduino".
И... все работает! С ArduinoIDE не разобрался, да и не надо пока.
Тема опять актуальна.
Не знаю как в 14-м году, а в 19-м "avrdude" такой команнды: "-c arduino" не понимает.
Другие флешеры можно подружить с ардуиной? Кто что скажет на этот счёт?
Не знаю как в 14-м году, а в 19-м "avrdude" такой команнды: "-c arduino" не понимает.
А Вы что, пишите только эту "команду" и всё? Там как бы длинная строка должна быть, несколько параметров нужно указывать. Где Вы вообще это вводите?
Конкретно через параметр -c указывается программатор. arduino точно должно поддерживаться. Что отвечает avrdude?
Не знаю как в 14-м году, а в 19-м "avrdude" такой команнды: "-c arduino" не понимает.
А Вы что, пишите только эту "команду" и всё? Там как бы длинная строка должна быть, несколько параметров нужно указывать. Где Вы вообще это вводите?
Конкретно через параметр -c указывается программатор. arduino точно должно поддерживаться. Что отвечает avrdude?
Добрый вечер.
Начну с того, что с коммандами консольного "avrdude" незнаком конечно. Думал что достаточно написать "-c arduino", а дальше - видно будет. Но он там что-то написал насчет флажка "-с", что его вообще не бывает. Сейчас попробую его "ответы" показать:
100% я что-то делаю неправильно... А может какой-нибудь другой GUI-флешер работать с arduino? "AsProgrammer" например.
Может "avrdude" промолчал насчет "-c arduino", а теперь просит указать тип прошиваемого чипа? А что я ему там укажу? У меня-то не контроллер, а флешка :(
А "avrdudess" - не тоже самое что и "avrdude"? А то у него есть графический интерфейс:
Думал что достаточно написать "-c arduino", а дальше - видно будет
Ну конечно этого недостаточно.
Но он там что-то написал насчет флажка "-с", что его вообще не бывает. Сейчас попробую его "ответы" показать:
Про флажок "-с" он Вам вобще ничего не пишет. Он пишет, что отсутвует флажок "-p".
А вот я в предидущем сообщении нашёл, вроде, что-то похожее, но без флажков )))) Не подойдёт?
И там есть в списке программаторов "Ардуино" вроде:
100% я что-то делаю неправильно... А может какой-нибудь другой GUI-флешер работать с arduino? "AsProgrammer" например.
Да, вы делаете неправильно. Консольная команда для avrdude состоит из нескольких параметров, а Вы их не указали. Выглядит примерно так: -p atmega328p -c arduino -P COM3 -b 57600 -D -Uflash:w:Blink.ino.hex (это только пример, Вам нужно указать микроконтроллер, программатор, com-порт, скорость прошивки, hex файл). Документация на avrdude - https://www.nongnu.org/avrdude/user-manual/avrdude.html
Если для Вас сложно вручную составлять консольные команды, воспользуйтесь графическими (GUI) оболочками для avrdude, например SinaProg или AVRDUDE_PROG.
Или вон Вы нашли какую-то AVRDUDESS, тоже наверное подойдёт.
...Вам нужно указать микроконтроллер, программатор, com-порт, скорость прошивки, hex файл...
Тут - проблема. У меня дампы в .bin, а не в .hex (((( Может когда программа определит тип флешки, на переключится на понимание .bin файлов?
Спасибо за ссылку и "AVRDUDE_PROG" ! SinaProg слишком детальный, боюсь - неосилю.
1. С программой не получится до конца разобраться, если в DUE правильный скетч не залить. Тот что выше по тексту - не внушает доверия.
2. С подключениями - тоже не всё понятно. Читал несколько статей на счёт DUE и там все подсоединяют как раз на ICSP разъём, а не на SPI.
Скетч - непонятный + не туда подключу = флешер на настрою (((((

Конкретно по DUE и прошивке бинарников не подскажу, т.к. сам не знаю, не приходилось использовать.
Обычно ICSP это тот же SPI, только выведен на отдельную колодку.
Для, кого в гугле забанили, это
man avrdude
его малюсенький кусочек. только про ключ -U. Смотрим на тип файла, я жирненьким выделили. ;)))
Перед осовоением Ардуино следуует освоить основы поиска в Гугле, хотя некоторые начинают с Яндекса... мы не приветствует такой ложный патриотизм! ;)))
-U memtype:op:filename[:format] Perform a memory operation as indicated. The memtype field speci‐ fies the memory type to operate on. The available memory types are device-dependent, the actual configuration can be viewed with the part command in terminal mode. Typically, a device's memory con‐ figuration at least contains the memory types flash and eeprom. All memory types currently known are: calibration One or more bytes of RC oscillator calibration data. eeprom The EEPROM of the device. efuse The extended fuse byte. flash The flash ROM of the device. fuse The fuse byte in devices that have only a single fuse byte. hfuse The high fuse byte. lfuse The low fuse byte. lock The lock byte. signature The three device signature bytes (device ID). fuseN The fuse bytes of ATxmega devices, N is an integer number for each fuse supported by the device. application The application flash area of ATxmega devices. apptable The application table flash area of ATxmega devices. boot The boot flash area of ATxmega devices. prodsig The production signature (calibration) area of ATxmega devices. usersig The user signature area of ATxmega devices. The op field specifies what operation to perform: r read device memory and write to the specified file w read data from the specified file and write to the device memory v read data from both the device and the specified file and perform a verify The filename field indicates the name of the file to read or write. The format field is optional and contains the format of the file to read or write. Format can be one of: i Intel Hex s Motorola S-record r raw binary; little-endian byte order, in the case of the flash ROM data m immediate; actual byte values specified on the command line, separated by commas or spaces. This is good for programming fuse bytes without having to create a single-byte file or enter terminal mode. a auto detect; valid for input only, and only if the input is not provided at stdin. d decimal; this and the following formats are only valid on out‐ put. They generate one line of output for the respective mem‐ ory section, forming a comma-separated list of the values. This can be particularly useful for subsequent processing, like for fuse bit settings. h hexadecimal; each value will get the string 0x prepended. o octal; each value will get a 0 prepended unless it is less than 8 in which case it gets no prefix. b binary; each value will get the string 0b prepended. The default is to use auto detection for input files, and raw binary format for output files. Note that if filename contains a colon, the format field is no longer optional since the filename part following the colon would otherwise be misinterpreted as format. As an abbreviation, the form -U filename is equivalent to specify‐ ing -U flash:w:filename:a. This will only work if filename does not have a colon in it.Так а у DUE и ISP на отдельной колодке. Просто, мне кажется, что один из них вход, а второй - выход. Только кто есть кто - не знаю я )))))
Для, кого в гугле забанили, это
man avrdude
его малюсенький кусочек. только про ключ -U. Смотрим на тип файла, я жирненьким выделили. ;)))
Перед осовоением Ардуино следуует освоить основы поиска в Гугле, хотя некоторые начинают с Яндекса... мы не приветствует такой ложный патриотизм! ;)))
Про яндексы мы ни про какие не знаем. Просто одна голова - плохо ))))))
Спасибо, сяйчас покурим этот кусочек, с жирненьким ))))
-----------------------
Так, судя из того что я не понял, набор комманд будет выглядеть как-то так:
avrdude -c arduino -P usb -b 19200 -U flash:r:"dump.bin":b
Это если не напутал с минусами и двоеточиями.
-----------------
Немного не так. Если следовать инструкции подключения arduino и диспетчеру устройств, подключать надо к "Native Usb Port", который в диспетчере светится как: "Bossa Program Port" и висит, в данный момент на COM4. Так что теперь эта строчка выглядит вот так:
-c arduino -P COM4 -b 19200 -U flash:r:"dump.bin":b
-----------------
"Native Usb Port" не подходит: его не видит avrdude. А если подключать к "Programming Port", когда avrdude пытается обратиться к ардуине, запускается "Serial" и ардуина начинает мигать лампочкой на 9-м пине.
Так, минуту. А как быть с тем что "avrdude" это: "AVR Downloader-Uploader" а DUE это ARM ? Или это просто так программу назвали, а ей, по большому счету - по барабану кого (и через что) шить?