Съдържание:

Как да актуализирате фърмуера на евтин USBasp-клонинг: 9 стъпки
Как да актуализирате фърмуера на евтин USBasp-клонинг: 9 стъпки

Видео: Как да актуализирате фърмуера на евтин USBasp-клонинг: 9 стъпки

Видео: Как да актуализирате фърмуера на евтин USBasp-клонинг: 9 стъпки
Видео: Обновление прошивки на Zigbee стиках EFR32MG21 - ZB-GW04, Sonoff ZBDongle-E 2024, Ноември
Anonim
Как да актуализирате фърмуера на евтин USBasp-клонинг
Как да актуализирате фърмуера на евтин USBasp-клонинг

Това е малко ръководство за мигане на нов фърмуер на USBasp-клонинг като моя. Това ръководство е специално написано за USBasp-клонинг, който се вижда на снимките, но все пак трябва да работи с други. Окабеляването е показано на стъпка 5, има TL; DR на стъпка 9.

Наслади се!

Стъпка 1: Проблемът

Проблемът
Проблемът
Проблемът
Проблемът

Avrdude ми казва, че програмистът, който използвам, е с остарял фърмуер. Нормалният джъмпер за самопрограмиране не съществува на моята дъска. Ето как да поправите това. Схеми за USBasp можете да намерите на fischl.de.

Стъпка 2: Необходими материали

Ще имаш нужда…

  • Поялник
  • Arduino (за предпочитане Nano)
  • Някои джъмперни проводници
  • Компютър с инсталирани Arduino IDE и avrdude

Стъпка 3: Решението

Решението
Решението
Решението
Решението
Решението
Решението

За да можем да прехвърлим нов фърмуер на ATmega8, трябва да получим контрол върху неговия ПИН RESET. Обикновено джъмперът на USBasp може да бъде затворен, за да се даде възможност за самопрограмиране, но производителят на моята платка не включи такъв.

На ATmega8 щифтът RESET е щифт 29, четвъртият щифт отгоре отляво. Той е свързан към 10k издърпващ резистор към 5V. Трябва да го свържем към пин 5 на заглавката на ICSP.

Можем да опитаме да запояваме проводник директно върху резистора или самия щифт, но това е досадно и може да повреди дъската ви. (Опитах го и откъснах издърпващия резистор, не го препоръчвам) Освен това има много по-лесен начин!

Въпреки че производителят не е включил истински джъмпер, който да позволява самопрограмиране, той постави заглавка под микроконтролера. Можем просто да запояваме жица напречно и …

Стъпка 4: Voilà

Вола!
Вола!

Свързахме двата щифта за нулиране! Двата отвора на дъното свързват щифт 29 и щифт 14 на микроконтролера.

Стъпка 5: Настройка на Arduino

За да прехвърлим новия фърмуер на програмиста, се нуждаем от друг програмист, в този случай Arduino със скицата ArduinoISP върху него. За да се уверите, че настройката ви е същата, моля, разкоментирайте ред 81

// #дефинирайте USE_OLD_STYLE_WIRING

Сега свържете Arduino с ICSP заглавката на вашия програмист.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (Нулиране) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

USBasp остава изключен от компютъра.

Отворете терминал и въведете

avrdude -cavrisp -pm8 -b19200 -P [Номерът на вашия порт отива тук, трябва да е същият като в IDE на Arduino]

Ако всичко върви както трябва, avrdude трябва да отпечата малко информация за ATmega8 (предпазители, подпис и т.н.)

Стъпка 6: Мига ATmega8

За да мигаме чипа, все още се нуждаем от фърмуера. Преминете към fisch.de и изтеглете най -новата версия. Извлечете архива и отидете до него с помощта на черупката.

Компилирането на кода не работи за мен, но за щастие архивът съдържа всички компилирани програми под

кош/фърмуер

Тук трябва да видите три.hex файла. Изберете този със същото име като вашия чип. Моят програмист използва ATmega8, затова избрах

usbasp.atmega8.yyyy-mm-dd.hex

При работеща връзка към ATmega8, мигането му трябва да изисква само въвеждане

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U флаш: w: [шестнадесетичен файл]

Ако всичко е направено правилно, avrdude трябва да напише и провери избрания фърмуер.

Стъпка 7: Уверете се, че програмистът работи

Уверете се, че програмистът работи
Уверете се, че програмистът работи

За да използваме отново USBasp като програмист, трябва да премахнем връзката между щифт 29 и щифт 14. Нарязването на джъмпера отдолу трябва да е достатъчно, но премахването му също не може да навреди.

Можете да го изпробвате, като го включите обратно в компютъра и пишете

avrdude -cusbasp -pm8

Дори ако avrdude не може да достигне целта, той трябва поне да признае новия фърмуер на нашия програмист.

Стъпка 8: Отстраняване на неизправности

Отстраняване на неизправности
Отстраняване на неизправности

Ако avrdude покаже грешка като тази, това вероятно има нещо общо с функцията за автоматично нулиране на Arduino. За да заобиколите това, моля, добавете кондензатор между RESET и GND на Arduino. Обикновено се препоръчва да се използва 10 μF кондензатор, но в моя случай 100 μF кондензатор работи добре.

Ако получите грешка като

avrdude: грешка: активиране на програмата: целта не отговаря. 1

или е върнат невалиден подпис, моля, проверете кабелите си. Имах проблем с ръждясването на захранващите ми кабели и вече не провеждах електричество. Препоръчвам предварително да проверите всички проводници.

Също така не забравяйте да превключите щифт 11 и щифт 12 на Arduino, ако проблемът продължава.

Моля, също така не забравяйте да зададете правилната скорост на предаване за Arduino като ISP, 19200. Тя може да бъде зададена с опцията

-19200

Ако имате въпроси или сте забелязали грешка, моля, уведомете ме:)

Стъпка 9: TL; DR

  1. Запоявайте жица през двата щифта в долната част на дъската
  2. Настройте Arduino като ISP, като се уверите, че сте активирали старата схема на окабеляване
  3. Свържете Arduino към програмиста чрез заглавката на ICSP
  4. Прехвърлете новия фърмуер на програмиста
  5. Премахнете връзката отдолу
  6. Не откъсвайте SMD резистори

Препоръчано: