Загрузка любого hex файла через загрузчик Leonardo

Особенности работы, конструирования устройств и схем на основе Arduino-совместимых плат.

Загрузка любого hex файла через загрузчик Leonardo

Сообщение sergey » 22 янв 2014, 11:48

Добрый день! Такой вопрос, имеется вот такая https://www.sparkfun.com/products/11098 Arduino-совместимая плата. В нее зашит bootloader arduino leonardo, соответственно в среде ардуино плату выбираю как Леонардо и из среды нормально программируется. У меня стоит задача залить в такую плату hex файл, полученный из другой среды разработки не используя среду arduino. Можно это как то сделать без использования программатора, через загрузчик Leonardo? Спасибо.
sergey
 
Сообщения: 6
Зарегистрирован: 22 янв 2014, 11:40

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение ilya_dan » 22 янв 2014, 13:06

По идее, можно. Активируем загрузчик Leonardo двойным нажатием на Reset (если там SparkFun-овский модифицированный бутлоадер), затем прошиваем через avrdude, указывая протокол avr109. Наверное, где-то так:

Код: Выделить всё
avrdude -c avr109 -P порт -Uflash:w:file.hex


Единственная проблема - угадать порт ;) Причем сделать это надо за 8 секунд (пока бутлоадер ждет загрузки).
Always yours, MK90 admin
ilya_dan
Site Admin
 
Сообщения: 175
Зарегистрирован: 11 авг 2011, 23:34
Откуда: MK90

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение sergey » 22 янв 2014, 13:16

В загрузчик входит после дисконнекта на 1200 бод, после этого за 8 секунд появляется еще один COM порт, потом пропадает.

Кажется я убил загрузчик, попытался в тот момент, когда появился порт прошить. Вот что вышло:

Код: Выделить всё
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "3D.hex"
avrdude: error opening 3D.hex: No such file or directory
avrdude: input file 3D.hex auto detected as invalid format
avrdude: can't open input file 3D.hex: No such file or directory
avrdude: write to file '3D.hex' failed

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

После первой попытки плата стала определятся как Leonardo bootloader постоянно, попробовал еще раз прошить.
Теперь система никак не реагирует на подключение платы. Видимо загрузчик поврежден. Непонятно почему не прошилось. HEX файл нормальный вроде.
sergey
 
Сообщения: 6
Зарегистрирован: 22 янв 2014, 11:40

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение ilya_dan » 22 янв 2014, 13:49

Дисконнектом на 1200 - это если через ArduinoIDE, программно сбрасывать. Но это же не единственный способ.

Можно нажать расположенный на плате Reset. Если загрузчик от производителя - жать дважды. Если оригинальный с arduino.cc - достаточно одного раза. После этого тоже попадаем в бутлоадер.

Дальше надо за 8 секунд успеть выяснить номер порта, на котором повис бутлоадер, вбить его в строку запуска avrdude и нажать Enter :)
Always yours, MK90 admin
ilya_dan
Site Admin
 
Сообщения: 175
Зарегистрирован: 11 авг 2011, 23:34
Откуда: MK90

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение ilya_dan » 22 янв 2014, 13:52

sergey писал(а):После первой попытки плата стала определятся как Leonardo bootloader постоянно, попробовал еще раз прошить.
Теперь система никак не реагирует на подключение платы. Видимо загрузчик поврежден. Непонятно почему не прошилось. HEX файл нормальный вроде.


Убить бутлоадер без программатора, увы, не получится. Чтобы активизировать его, нажмите, наконец, RESET.

Не прошилось потому, что не нашло .hex-файла, о чем честно сообщило.
Always yours, MK90 admin
ilya_dan
Site Admin
 
Сообщения: 175
Зарегистрирован: 11 авг 2011, 23:34
Откуда: MK90

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение sergey » 22 янв 2014, 13:58

На этой плате нет кнопки сброса. HEX файл в папке с AVR Dude есть, я не совсем уже начинающий, чтобы подобного не замечать. :D Вобщем непонятно, теперь винда плату вообще не видит никак. Даже звука подключаемого по USB устройства

Ага, на плате есть пин reset соединяю его с землей, появляется на некоторое время com порт leonardo bootloader
sergey
 
Сообщения: 6
Зарегистрирован: 22 янв 2014, 11:40

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение sergey » 22 янв 2014, 14:11

Но hex не видит хоть убей, хотя в папке он точно есть, пробовал несколько штук разных.

P.S. Получилось, спасибо большое за помощь!
sergey
 
Сообщения: 6
Зарегистрирован: 22 янв 2014, 11:40

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение aspnetter » 17 апр 2014, 20:16

А вот таким http://radio48.ru/Detal39475506.html программатором ведь можно зашить плату Ардуино без всяких загрузчиков?
aspnetter
 
Сообщения: 1
Зарегистрирован: 17 апр 2014, 20:11

Re: Загрузка любого hex файла через загрузчик Leonardo

Сообщение ilya_dan » 17 апр 2014, 21:56

aspnetter писал(а):А вот таким http://radio48.ru/Detal39475506.html программатором ведь можно зашить плату Ардуино без всяких загрузчиков?


Конечно можно. Хотя в плате Arduino загрузчик обычно уже есть, и программатор не требуется. Но я бы брал такой http://mk90.ru/store/ru/programmatory/385-programmator-avrdoper-key.html - во-первых, если уж раскошеливаться на программатор, то совместимый с AVRStudio, а во-вторых - там есть вилочка ISP6, не надо возиться с переходом ISP10-ISP6, т.е. можно брать кабель вот такой http://mk90.ru/store/ru/programmatory/61-kabel-programmirovanija-6-ti-kontaktnyy.html и шить.
Always yours, MK90 admin
ilya_dan
Site Admin
 
Сообщения: 175
Зарегистрирован: 11 авг 2011, 23:34
Откуда: MK90


Вернуться в Arduino-совместимые

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron