1. Уважаемый Гость! При написании вопросов в раздел форума [ArduCopter] Вопросы, проблемы и решения обязательно придерживаться шаблона сообщения, оговоренного в правилах раздела! Если сообщение не будет оформлено должным образом, то и ответ на вопрос будет с наименьшим приоритетом. Старайтесь дать максимально полную информацию по вашей проблеме, чтобы можно было более детально рассматривать вопрос!
    Скрыть объявление
  2. Уважаемый Гость! Хотите получать кэшбэк с покупок в online-магазинах? Сервис "Zozi.ru" дает такую возможность!
    Скрыть объявление
  3. Друзья! Для нашего ресурса необходим дополнительный объем пространства в облаке Dropbox. Подробнее.
    Скрыть объявление

Прошиваем регуляторы с микроконтроллером Atmel AVR

Тема в разделе "Регуляторы оборотов (ESC)", создана пользователем raefa, 30 янв 2015.

Реклама. Купить это место.
  1. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
  2. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Задался вопросом перепрошивки регулятора скорости (ESC) для коптера.
    На данный момент имею на руках 8 штук DYS HV40A OPTO n-FET
    Этот товарищ DYS брат-близнец товарища RCTIMER HVSK-40A OPTO.
    Железо абсолютно идентичное.
    Вот мой DYS:
    NIK_0491.jpg
    Собран на основе чипа ATMEL Atmega8A 1402.
    И так. Шью через USBasp на скорости 19200 бод посредством KKFlashTool 0.8 BETA 6.
    Конфиг: atmega 8-based brushless ESC + eneble Bootloader (8kB flash).

    Вопросов два:
    1. Смущает результат:
    Код:
    Прошить прошивкой из файла.
    
    C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.exe -C C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U lfuse:r:C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\tmp\/lfuse.hex:r -U hfuse:r:C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\tmp\/hfuse.hex:r 
    
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: Device signature = 0x1e9307
    avrdude.exe: erasing chip
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: reading lfuse memory:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: writing output file "C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\tmp\/lfuse.hex"
    avrdude.exe: reading hfuse memory:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: writing output file "C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\tmp\/hfuse.hex"
    
    avrdude.exe done.  Thank you.
    
    
    C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.exe -C C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U lfuse:w:47:m -U hfuse:w:202:m 
    
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: Device signature = 0x1e9307
    avrdude.exe: erasing chip
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: reading input file "47"
    avrdude.exe: writing lfuse (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude.exe: 1 bytes of lfuse written
    avrdude.exe: verifying lfuse memory against 47:
    avrdude.exe: load data lfuse data from input file 47:
    avrdude.exe: input file 47 contains 1 bytes
    avrdude.exe: reading on-chip lfuse data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: verifying ...
    avrdude.exe: 1 bytes of lfuse verified
    avrdude.exe: reading input file "202"
    avrdude.exe: writing hfuse (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude.exe: 1 bytes of hfuse written
    avrdude.exe: verifying hfuse memory against 202:
    avrdude.exe: load data hfuse data from input file 202:
    avrdude.exe: input file 202 contains 1 bytes
    avrdude.exe: reading on-chip hfuse data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: verifying ...
    avrdude.exe: 1 bytes of hfuse verified
    
    avrdude.exe done.  Thank you.
    
    Прошить данными из файла.: C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX
    
    C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.exe -C C:\Users\Master\Documents\PIXHAWK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U flash:w:C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX:i 
    
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: Device signature = 0x1e9307
    avrdude.exe: erasing chip
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: reading input file "C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX"
    avrdude.exe: WARNING: no end of file record found for Intel Hex file "C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX"
    avrdude.exe: writing flash (0 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude.exe: 0 bytes of flash written
    avrdude.exe: verifying flash memory against C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX:
    avrdude.exe: load data flash data from input file C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX:
    avrdude.exe: WARNING: no end of file record found for Intel Hex file "C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX"
    avrdude.exe: input file C:\Users\Master\Documents\PIXHAWK\RCTIMER_40A_MULTI_REV14_3.HEX contains 0 bytes
    avrdude.exe: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude.exe: verifying ...
    avrdude.exe: 0 bytes of flash verified
    
    avrdude.exe done.  Thank you.
    
    Flashing of firmware was successfull.
    
    

    Вроде как:
    Код:
    avrdude.exe done. Thank you.
    
    Flashing of firmware was successfull.
    
    , но несмотря на это:
    Код:
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    
    И так неоднократно. Чем шить USBasp?

    2. После перепрошивки ESC встал в позу и обиделся на меня. Как слить стоковую прошивку с родного и непрошитого, что бы залить в этот "экспериментальный"?

    Спасибо! Участие в обсуждении однозначно приветствуется!
     
  3. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Это нормально. Чтобы не было этого сообщения, необходимо обновить прошивку в программаторе. Посмотрел ваши логи прошивки - все залилось нормально.
    А вот тут возможно залили что-то не то.

    Как слить с живого. Не плохо изучить команды avrdude и изменить ключи в командах. Извиняюсь, сейчас возможности посмотреть нет.
     
  4. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Саша, спасибо за ответ. Уже начитался, что на баг не стоит обращать внимания. Обновлять прошивку некуда, разработчики забросили проект ещё в 2011 году.
    По поводу того, что лью:
    RCTIMER_40A_MULTI_REV14_3.HEX
    от BLHeli для ATMEGA
    Даже мотор не пищит.
     
  5. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
  6. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Вопрос. Пытались связаться с регулем в ГУИ?
     
  7. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Тимур, большое спасибо за информацию! ;) У меня штук 10 разных программаторов, в т.ч. AVR ISP mkII, пытаюсь с ним воевать через Atmel Studio 6.
    Пока стабильно шьётся только через USBasp.
    У меня есть BLH GUI 14.3, но я пока с ним не разобрался. Там слишком много всего, в т.ч. и всякой ненужной лажи, которая только запутывает.
    Эту статью ещё давно всю перечитал. Там бутлоадер всё-равно шьётся только ч/з программатор, а сама прошивка уже потом может быть залита.

    Пока нет. Передо мной стоит две задачи. Одна-это залить рабочую прошивку, а вторая-считать и сохранить в хекс стоковую. Вроде так делается:
    Код:
    avrdude -p m8 -c usbasp -P usb -v -U flash:r:/home/nixuser/stock_flash_dump.hex:i
    
    --- Сообщения объединены, 18 дек 2015 ---
    Прошивка RCTIMER_40A_MULTI_REV14_3.HEX и есть та самая от BLHeli для Atmel.
     
  8. 5yoda5

    5yoda5 Master Команда форума

    Регистрация:
    29 янв 2015
    Сообщения:
    7.137
    Город:
    Реж
    Имя:
    Тимур
    Я уже понял, что выступил в роли Капитана Очевидность. :) Торопышко.
    ....не знаю. я ошибки не нашел. Разве что имя файла покороче задать...:oops:
     
  9. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    665
    Город:
    Омск
    Имя:
    Иван
  10. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    665
    Город:
    Омск
    Имя:
    Иван
    Оригинальную прошивку сохранить не удастся,вроде как стоит защита от копирования.Вот еще прога для прошивки Xtreme Burner AVR.
     
  11. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Тимур, Александр, а с AVR ISP mkII или с Atmel Studio 6 есть опыт работы?
    Дудка отказывается работать на x64 архитектуре.
    Как же слить прошивку и чем? Возможно есть иное ПО?
     
  12. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Здравствуйте Иван. Знаю я всю эту бредятину из таблицы. Не знаю, для чего Вы её привели.
    Форумы курил неоднократно. Именно на основании этой информации и спрашиваю мнение коллег по интересам.
    За ссылку на ПО eXtreme Burner - AVR спасибо. Когда-то сталкивался с ней, но не пользовался. Читает и шьёт вполне нормально, вот только конечного результата нет.
    (Попытался залить хекс в 138кб от симонка и получил.....):
    Screenshot_161.jpg Screenshot_162.jpg
    Хекс в 23 кб залился хорошо, но толку мало. Может с бутлоадером чего?
    Screenshot_170.jpg
     
  13. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Просто программатор. Если с драйверами на x64 все в порядке, то искать только программу.
    Опыта нет, но что-то подсказывает, что это среда разработки и она поможет hex только залить, а не слить.
    Вот эта штука может вполне адекватно все сделать.
    Хм, на 2х компах с x64 проблем замечено не было.
    Если смотреть на другие программы, то они либо используют дудку (а сами являются графической оболочкой), либо в редком исключении имеют свой модуль для работы с контроллерами. eXtreme Burner - AVR вроде какраз второй вариант.
     
    Последнее редактирование: 19 дек 2015
  14. Xichnik55

    Xichnik55 Старший научный сотрудник

    Регистрация:
    10 сен 2015
    Сообщения:
    665
    Город:
    Омск
    Имя:
    Иван
    Еще есть програмка avrdudeprog 3.3 в ней можно прошивать разными программаторами.В менюшке выбрать можно из списка.
     
    raefa нравится это.
  15. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Сорри господа, Дудка работает, это я об KV OSD высказался, которая тут никоим боком. KV OSD GUI не работает.
    Дудка у меня давно есть.
    Александр, спасибо за развёрнутый ответ.
    Вот я лью прошивку, а грешу на бутлоадер. При подключении ESC одиночный писк мотора с промежутком в 6 секунд.
    Я Экстримом полностью очистил чип и снова заливаю прошивку. Мне так кажется, что нужно что-то большее, типа бутлоадера.
     
  16. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Давайте подумаем, что такое бутлоадер. Это программа, сидящая в определенной области памяти, предназначеная для создания дополнительных функций, такие как:
    упрощение заливки прошивки через какой-либо интерфейс (не только через ISP), отработка каких-то условий при загрузке контроллера и т.д. и, самое главное, в конечном итоге - запуск основной программы.

    Вспомнено из даташита:
    При подаче питания на МК, обращение происходит к специальной области, куда может быть залит бутлоадер. Если он там есть, то отрабатывает он (ждет каких-то условий) и далее он должен запустить уже основную рабочую программу. Если бутлоадера нет и МК его не обнаруживает, но происходит сразу загрузка основной программы. Как-то так. Т.е. по сути он и не нужен.

    Теория (может и не прав):
    Если не предусмотрено защит прошивки с применением бутлоадера, то и без него все стартует, либо прошивка может отказаться работать без специального для нее бута

    PS: Почитайте даташиты, чтобы уже самому представлять как оно работает, поищите соседние файлы к прошивкам (а может оно и действительно что надо еще сделать).
     
  17. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Ок. Спасибо Александр. Практически так и представляю.
    Что же делать с ESC? Как его вернуть в чувства?
    Пробовал:
    dys_nfet.hex
    dys_nfet_Old_Tested_Apr2015.hex
    RCTIMER_40A_MULTI_REV14_3.HEX
    RCTIMER_40A_MULTI_REV14_3.EEP

    Даже дамп заливал..........Всё "якобы" успешно...............
     
  18. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
  19. AEROBATICS

    AEROBATICS Студент

    Регистрация:
    1 апр 2015
    Сообщения:
    76
    Город:
    Москва
    Имя:
    Дмитрий
    Спасибо Саша, полезная информация и "от производителя". Так чем же всё-таки прошить ESC, что бы он заработал?(независимо на какой прошивке)
     
  20. raefa

    raefa Главнокомандующий Команда форума

    Регистрация:
    3 янв 2015
    Сообщения:
    4.324
    Город:
    Zhigulevsk
    Имя:
    Александр
    Есть еще догадка, что фьюзы могут отличаться. Под каждую прошивку возможно, что надо устанавливать "свои", отличные от заводских.
     
Реклама. Купить это место.