ArduCopter Mega: порт на обычную Arduino (тестим)
Такая же проблема Как решить ?
Я думаю проблема в бутлоадере. В BV была партия с непонятны зашитым бутлоадером (похоже от меги 1280). Решение - перешить на бут от 2560, для этого нужен ISP программатор. Но своим программатором USBasp, мне не удалось залить только бутлоадер в BV. Пришлось слить с обычной ардуинки полный дам, вместе с прошивкой MPNG и и бутом - только после этого все нормально прошилось.
Я думаю проблема в бутлоадере. В BV была партия с непонятны зашитым бутлоадером (похоже от меги 1280). Решение - перешить на бут от 2560, для этого нужен ISP программатор. Но своим программатором USBasp, мне не удалось залить только бутлоадер в BV. Пришлось слить с обычной ардуинки полный дам, вместе с прошивкой MPNG и и бутом - только после этого все нормально прошилось.
А как же fuses? Они тоже могут влиять. Я шил бутлоадер avrdude (тот, что идет в комплекте с ардуиной) в командной строке. Напрямую ардуиной не получалось. Насколько я знаю, он поддерживает практически все программаторы, в том числе и USBAsp. Я пользовал AVRISP v2.
Сам AVRDude находится в папке “<папка arduino>\hardware\tools\avr\bin\”. В эту папку надо скопировать “avrdude.conf” из папки “<папка arduino>\hardware\tools\avr\etc\” и файл “stk500boot_v2_mega2560.hex” из папки “<папка arduino>\hardware\arduino\bootloaders\stk500v2\”.
Запускаем командную строку и переходим в папку “<папка arduino>\hardware\tools\avr\bin\”.
Сперва надо установить fuses (если у вас другой программатор, то надо поменять “avrisp” на соответствующее значение и указать правильный ком порт, например, COM4):
avrdude -P <comport> -b 115200 -c avrisp -p m2560 -v -e -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U lfuse:w:0xFF:m
Далее заливаем сам бутлоадер (аналогично задаем ком порт и корректный программатор):
avrdude -P <comport> -b 115200 -c avrisp -p m2560 -v -e -U flash:w:stk500boot_v2_mega2560.hex -U lock:w:0x0F:m
Пришлось слить с обычной ардуинки полный дам…
Скиньте слитый hex.
Попробовал с stk500boot_v2_mega2560.hex загрузка даже не начинается.
Не заливается прошивка даже если попытаться выбрав с помощью программатора (в ардуино 1,0,1)
Не понятно почему прошивка 2,6_R6 заливается без проблем?
Не понятно почему прошивка 2,6_R6 заливается без проблем?
Посмотрите, какого размера получается прошивка, когда вы ее заливаете (я просто уже не помню сколько было для 2.6). 2.7 - прилично распухла, поэтому бутлоадер не знает как такой размер заливать в проц.
А как же fuses?
Конечо, фьюзы и все остальное по мануалу. Пользовал то же avrdude, но хоть ты убейся чисто бут не хотел зашиваться и прошивка завершалась ошибкой верификации. Пока я не попробовал слить полный дамп со своей ардуинки и залить его - о чудо, все зашло с первого раза 😃
Скиньте слитый hex.
Скину как доберусь до плат…
Бутлоадер вроде бы знает размер флеши . Разница в объеме прошивок 2.6_R6 и 2.7_R3 ~20kb свободно более 100 кбайт.
Попробуйте еще что нить раскомментить в 2.6, например OSD и LED_SEQUENCER, когда размер флеша перевалит за 130k он перестанет заливаться…
Кстати, похожая проблема возникла у владельцев официальной APM1 1280… те то же лихорадочно пытаются уменьшить код или заменить чип на 2560 😃 Благо в случае BV - вопрос решается перешивкой…
когда размер флеша перевалит за 130k он перестанет заливаться…
Печально 😦
Делать-то что теперь ???
Можно ли в софте Ардуино скомпилировать 2.7_R3 в файл и залить его сторонним программатором ?
Делать-то что теперь ???
Прошивать новый бутлоадер с помощью внешнего программатора типа USBasp или AVRisp…
Действительно загрузчик расположен в середине флеши и видимо именно это не дает расположить прошивку более ~120…130 кб.
Как переместить загрузчик в конец флеши?
Программатор USBasp, софт Khazama AVR Programmer “понимает” HEX расположенный в<папка arduino>\hardware\arduino\bootloaders и корректно его заливает.
Софт eXtreme Burner - AVR этот же HEX не “понимает” в буфере одни FF.
C помощью редактора от UPA USB переместил загрузчик в конец флеши ,изменив адрес загрузчика в первой строке, но Khazama AVR Programmer не “понимает” созданного HEX файла ,eXtreme Burner - AVR этот же HEX “видит” вроде заливает в контроль, но контроль молчит 😦
Действительно загрузчик расположен в середине флеши и видимо именно это не дает расположить прошивку более ~120…130 кб. Как переместить загрузчик в конец флеши?
Вот полный дамп BlackVortex’a вместе с MPNG 2.7.1
www.siralex.info/files/BlackVortex_MPNG2.7.1.zip
Не забудьте только фьюзы правильно выставить:
efuse = 0xFD
hfuse = 0xD8
lfuse = 0xFF
Удачи! 😃
Вот полный дамп BlackVortex’a вместе с MPNG 2.7.1
Чем сливал ?
Khazama AVR Programmer не “понимает” этот HEX.
eXtreme Burner - AVR этот же HEX “понимает”, вроде даже заливает, но контроль молчит 😦
Чем сливал ?
avrdude
Чуть выше Lazyan писал как с его помощью залить в BV, единственно надо выбрать свой вариант программатора.
Программатор USBasp - com не использует…
здравствуйте, хотел узнать, у меня одного проблемы с gps на BV начиная с прошивки пирата 2.6 рц 5, или уже есть другие случаи?
Программатор USBasp - com не использует…
значит так и указываем вместо “COM2” - “USB”
Тестировали вчера 2.7 R3 с BlackVortex. В стабе и лойтере очень хорошо себя ведет. Очень красиво отрабатывает миссию в авто. Единственное - в конце миссии, когда переходит в лойтер, почему-то сильно расколбашивает по высоте, метров на 3-4, но пиды покрутить не успевали - уже теменело.
А вот стабилизация подвеса совсем не порадовала. Если на 6-м канале в приемнике есть какой-то сигнал, серву жутко паркинсонит. И в общем стабилизация ведет себя довольно неадекватно. Наверное нужно дождаться новых релизов или же вкорячить стабилизацию подвеса из старой версии.
здравствуйте, хотел узнать, у меня одного проблемы с gps на BV начиная с прошивки пирата 2.6 рц 5, или уже есть другие случаи?
Надо пользовать 2.6 RC6, по крайней мере с моим BV лойтер держал очень даже достойно при хорошем ветре.
А в чем именно проблемы?
Надо пользовать 2.6 RC6, по крайней мере с моим BV лойтер держал очень даже достойно при хорошем ветре.
А в чем именно проблемы?
Всё работает, кроме gps, через минуту поле инициализации датчиков начинает выдавать разные координаты с огромной скоростью. Пробовал 2.7 R3, 2.6 R6, но как лью 2.6 R4 все ок работает…
Программатор USBasp - com не использует…
COM вообще не надо указывать, просто:
avrdude -c usbasp -p m2560 -v -e -U flash:w:stk500boot_v2_mega2560.hex -U lock:w:0x0F:m
Короче затер я этот проц до дыр , заливал (avrdude ) и stk500boot_v2_mega2560.hex и BlackVortex_MPNG2.7.1.zip либо проц молчит либо загрузчик вроде запускается но не вяжется с ардуино софтом 😦
Короче залил загрузчик от Black Vortex и залил 2.6_R6.
Короче убил пол дня понапрасну…
не вяжется с ардуино софтом
После заливки BlackVortex_MPNG2.7.1.zip надо было выбрать в Ардуино не BlackVortex, а обычную Arduino Mega 2560. Забыл предупредить, что в прошивке обычный бутлоадер и никаких модификаций делать не надо в Arduino IDE что бы в нее заливать (т.е. boards.txt уже не актуален будет)
Фуууу. Вроде затолкал 2.7_R3 в энту мегу 😃
Залил загрузчик Vortex_Bootloader.hex слитый с rcgroups.com.
Далее выбрав в ардуине Arduino Mega 2560 or Mega ADK все залилось.
Загрузчик Vortex_Bootloader.hex