Прошивка через программатор USBasp
- Войдите на сайт для отправки комментариев
Вс, 29/03/2015 - 00:32
Заказал на Ебэе такую вот штуку. Уверяли что через эту штуку можно прошивать чипы Atmega8 и прочее. Так вот через Arduino IDE (как и через другие программы) прошить не получается, так как устройство не опредляется системой как COM порт, ни в Windows ни в Linux, хотя все системы видят его как устройство USBasp и ставятся драйверы. Вопрос такой - как через него выполнить прошивку и Ардиуновский бутлоадер?
настраиваем:
"Сервис" -> "Программатор" -> "USBasp"
Прошиваем загрузчик(нужно выбрать плату до прошивки):
"Сервис" -> "Записать загрузчик"
А так можно прошивку сразу залить без загрузчика.
"Файл" -> "Загрузить через программматор"
З.Ы. Видимо с логикой у вас совсем туго. Может "ну его это программирование" ???
... устройство не опредляется системой как COM порт, ни в Windows ни в Linux, хотя все системы видят его как устройство USBasp
Всё правильно - так и должно быть! Тут уже написали, что делать, но если Вам нужен именно COM порт, то варианта только два (по крайней мере о третьем я не слышал).
1. Купить STK500 (явно не самый дешевый вариант)
2. Просто перепрошить USBasp в AVR Doper! После чего AVR Studio будет опознавать его как STK500-совместимый программатор
Так я так и делал и все равно возникает ошибка, не надо ссылкаться на логику, по логике я первым делом попробовал эти кнопки, вот я и подумал что необходим COM порт так как внизу Arduino IDE написано Atmega8 on /dev/ttyUSB0 что и является COM портом.
Спасибо, буду искать дальше, видимо программатор я не правильно спаял.
1. USBASP не является компортом. Это программатор.
2. Рекомендую проверку программатора начинать с чтения сигнатуры и фьюзов.
3. Рекомендую сразу прошивать последнее фирмваре чтобы не выскакивало сообщеие типа " не могу установить клок".
Пригодится ( тьфу-тьфу-тьфу) для команды B
спасибо, буду пробовать. Это пока только первое знакомство с программатором и сейчас понял что я конденсатор на резонаторе не тот поставил, возможно из-за этого и ошибки.
Учту все советы
После перепайки коденсатора все завелось! А то пришла плата без схемы, соответственно конденсаторы пришлось наугад паять. Пришлось разбирать схемы аналогов и тут я понял что не все находятся на своем месте. Спасибо всем, кто ответил и помог. Мигание диода из примеров заработало.
Собирал себе сам, работает без проблем, единственное что надо делать это зажимать клавишу "Shift" перед заливкой скетча через IDE.
Сайт разработчика USBasp http://www.fischl.de/usbasp/
Ну а Китакй как всегда всё спионерил )))
Медленный программатор....особенно когда чистые МК шьешь с низкой частотой....бутлоадер Дуни 7 минут писался. Соберу USBtinyISP , говорят быстрее.
Ну а AVRISP MKii вообще равных по скорости не имеет)
clk наверно маленький очень стоял. мега328 прошивается черзе USBASP секунд 10 максимум. мега8 секунд 5 максимум
поставь khazama avr programmer. запусти и не закрывай. в настройках поставь частоту clk 92кгц вроде. точно не помню. поиграться можно. и программируй (при запущенной программе)
Khazama'ой и шил,настройки не менял,попробую. Спасибо!
но это при учете что ты обновил прошивку программатора
Всё, попробовал, 11 секунд! Да, прошивка новейшая, читал, что в старых недоступно программное изменение частоты)
Assuming you refer to a Atmel AVR micro controller, the only limitation is,
that the controllers main clock frequency must be at least 4x the clock speed of the ISP programming frequency.
Короче: при наших 16-ти можно по sck подавать не более 4-ёх.
Особенно с этим явлением знакомы те, кто переключается на внутренний генератор с делителем на 8 ( 1 МГц)
и любители работать на генераторе WDT (128 кГц) и на часовом кварце 32768 Гц
Но чтобы иметь возможность сменить эту частоту надо фирмварь с фискла прошить......
Всё, попробовал, 11 секунд! Да, прошивка новейшая, читал, что в старых недоступно программное изменение частоты)
вот видишь. а ты ругаешь. собирался программатор собирать
Поставив частоту на 1.5 МГц (максимум), добился результата в семь секунд при записи загрузчика. Странно, прошивает только один раз, потом приходится передергивать программатор, иначе стд. ошибки сыпятся типа "target doesn't answer" ...
Ну откуда мне было знать! (с) Берт, "Дрожь земли" :)
слишком большую не ставь. тише едешь дальше будешь
Хм....теперь сами скетчи на пашут. Заливаю стд. блинк, жму "Проверить" выдает несоответствие, да и диодик не мигает...Наверное, совсем угробил я Нану, сначала конвертер сжёг, видимо, и МК досталось
убавь частототу до 92кгц и по новой запиши
Не даёт эффекта
сотри камень. перезапиши фьюзы и бутлоадер
Там подтяжка по скорости чтения\записи, с оболочкой AVRDUDE работает и на высокой и на малой скорости , с другими только на малой.
Медленный программатор....особенно когда чистые МК шьешь с низкой частотой....бутлоадер Дуни 7 минут писался. Соберу USBtinyISP , говорят быстрее.
Ну а AVRISP MKii вообще равных по скорости не имеет)
На работе ChipProg48, обычно им востанавливаю залоченные Меги ну и по работе гоняю ), Avrisp 2 и дудка для дома , но больше юзаю дудку.
А я удивился на сколько Altmega живучей оказалась, перепутал контакты когда подключал на макетной плате, и она расколилась, что обжогся когда дотронулся. Думал все, сгорел камень за 70 рублей (брал 10 штук из китая), а потом подключил нормально и все заработало. Сгоревших контактов обнаружить не получилось.
На работе ChipProg48, обычно им востанавливаю залоченные Меги...
Вы имеете в виду чипы с неправильно "прошитыми" фьюзами?
Когда-то я купил десяток ATtiny13A очень дешево - можно сказать почти даром! Проверил несколько штук и... ...через USBasp - не читалась ни одна! Думал, что мне подсунули бракованные, но решил проверить на другом программаторе - универсальном TL866A. Прочитались все!!!
Оказалось причина была во фьюзе SPIEN (Serial Programming Interface ENabled) - этот фьюз вкл./выкл. внутрисхемное программирование!
В общем, поменял я этот фьюз на каждом чипе, и все они стали читаться/писаться нормально даже через USBasp, а я уже думал выкидывать!
Загуглите, есть прикольная вещица - ATMega Fusebit Doctor, восстановление фьюзов без гемора;) нужен лишь источник питания 12В)
Да их и имел :)) или они меня :))))) , Доктор фьюзов на данный момент в стадии сборки на smd , деталек не хватает , лень копать лом в дохлых платах, соберу посмотрим что за зверь , или только для spien годен...
подавать 4мгц это имеется ввиду фьзами прошить МК в самом usbasp на 4МГц ? объясните плиз
в синапрог есть возможность менять на целевом МК частоту... чего ? чтоли выставлять частоту на которой будет работать целевой МК ? т.е синапрог это может делать в обход фьюзов ?
второй день мучаюсь, usbasp ни как не хочет работать в синапрог - пишет CLK не может выставить, вы упомянули что дело в прошивке, что если поставить последнию официальную от 2011 года эта проблемма пропадет ?
отвечал на это
Assuming you refer to a Atmel AVR micro controller, the only limitation is,
that the controllers main clock frequency must be at least 4x the clock speed of the ISP programming frequency.
Короче: при наших 16-ти можно по sck подавать не более 4-ёх.
Особенно с этим явлением знакомы те, кто переключается на внутренний генератор с делителем на 8 ( 1 МГц)
и любители работать на генераторе WDT (128 кГц) и на часовом кварце 32768 Гц
Но чтобы иметь возможность сменить эту частоту надо фирмварь с фискла прошить......
СинаПрог и другие - это всё аврдудэ.
Работа по SPI подразумевает не только как быстро вы сможете послать что-то куда-то в бездну
но и то что эта бездна должна успеть записать куда-то то что вы послали.
Поэтому тот клок который идёт для стробирования вами посылаемых последовательных данных по проводку МОСИ
должен быть в 4 раза ниже частоты вашего прошиваемого процессора, а у нас он 16 МГц
Но!
В старой версии фирмвари USBASP ключ В - ключ изменения клока SPI не поддерживался.
Перешить и забыть.
оригинальная прошивка в исходниках на сайте. как ее скомпилить для моего 8A-AU ? чтоб получился хекс
alexbmd, смотрите внимательней, там есть готовые прошивки для меги 8, 48, 88
понял.
объясните как работать с фьюзами
1) вот имеем такой фьюз например CKSEL3 его значение может быть только 0 ил 1 ? или может быть и 100 ?
2) за тактовку МК после перепрошивки отвечают фьюзы CKSEL3-2-1-0 ? а работают они по принципу
например
CKSEL3 = 0
CKSEL2 = 1
CKSEL1 = 0
CKSEL0 = 0
получается CKSEL = 0100 ?
alexbmd, CKSEL и прочие -это просто биты регистра. Конечно либо 0 либо 1. Вам нужно какой нибудь калькулятор фузов, типа этого. там всё наглядно и по русски)
господа вот вижу в архиве usbasp.atmega8.2011-05-28.hex
но к нему еще makefile и там команды прошивки фьюзов и прочее.. зачем этот мейкфайл? надо ли прошивать фьюзы как там написано ? но даже если не надо что за значения-смысл фьюзов там прописанно ?
ЗЫ: калькулятор не открывается ;)
alexbmd, тот мейкфайл сугубо для прошивки через какую-то программу. Фузы нужны конечно, не факт что те, что стоят по-умолчанию подойдут. У меня сайт с калькулятором работает, много аналогичных, можете поиском найти. там и прояснятся побитовые значения 2х байт FUSE
пока не нашёл калькулятора с пояснениями такого вида например
CLSEL
0100 - 1Мгц
0010 - 2Мгц
0100 - 8Мгц
вот такие вопросы возникли
lock bits которые отвечают за то что мы можем читать/писать МК это LB1..2 ?
часто слышу мы можем чтото сделать с МК если он не залочен. но в даташите пишут Lock bits can be erased with the Chip Erase command. Т.е. получается мы можем сбросить залочку простым erase chip?
наименьшая возможная частота у атмеги168 это 0.4-0.9Мгц CKSEL3..0 = "1000" или всетаки "0011"? или какая наименьшая
делителем мы можем наименьшую частоту еще поделить ? но на потребление питания делитель не влияет ?
специалисты по фьюзам тут не водятся ?
Здравствуйте,
столкнулся с проблемой - у меня Attiny44A-SSU и программатор AVR USBASP. хотел через него запрограммировать мою Attiny, пробовал разные программы, методы, ничего не получается. Скажите кто знает вообще можно через этот программатор такой чип запрограммировать?
а считывается хотя бы? прошивку программатора обновил?
В том то и проблема что считывается а когда подключаю в цепь то ничего не работает
в смысле фьюзы например считать с мк получается?
Да получается
А в какую цепь ты подключаешь? в готовую плату? если да там же к мк на пины программирования наверно что то висит?
В простую самую - на макетке светодиод и резистром. Просто чтобы проверить
ну как обычно: какие фьюзы, светодиод на пине программированя? ну это сам почитай и разберись. инфы море
Прочитал очень много чего но ничего не помогает. В какой IDE писать код для чипа?
а где в arduino настроить скорость USBasp ?
И другие параметры задать avrdude
ПРОБОВАЛ ПОСТАВИТЬ -B10 ЗДЕСЬ
\hardware\arduino\avr\programmers.txt
но никакого эффекта
usbasp.program.extra_params=-Pusb -B0.5
Вот так будет достигнута максимальная скорость для USBasp. clk ISP 1.5MHz
Но добавить пункт в меню так и не получилось.