Съдържание:
- Стъпка 1: Какво ви трябва?
- Стъпка 2: Създаване на Mega-isp програмист на макета
- Стъпка 3: Качване на скицата
- Стъпка 4: Използване с Avrdude
- Стъпка 5: Записване на фърмуера на USBtinyISP към Attiny2313
- Стъпка 6: Записване на Arduino Bootloader
- Стъпка 7: Отстраняване на неизправности
Видео: Как да програмирате AVR (arduino) с друг Arduino: 7 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:56
Тези инструкции са полезни, ако:
* имате вашия arduino с atmega168 и сте закупили atmega328 в местния магазин за електроника. Той няма arduino bootloader *, който искате да направите проект, който не използва arduino - просто обикновен AVR чип (като USBTinyISP) - имате чист attiny2313/attiny48 и т.н., на който искате да запишете фърмуера. Обикновено би трябвало да имате ISP (в системния програмист) като USBTinyISP, за да програмирате новия си чип. Имайки arduino, можете да го научите да бъде програмист благодарение на страхотната работа, извършена от Randall Bohn. Той създаде Mega -ISP - скица arduino, която работи като програмист.
Стъпка 1: Какво ви трябва?
* работещ Arduino (или клонинг - използвам BBB - BareBonesBoard и RBBB - RealBareBonesBoard от ModernDevices) * чип, който искате да програмирате (тестван с atmega8, atmega168, atmega368, attiny2313, attiny13) * макет или платка с ISP заглавие * 3 светодиода + 3 резистора * проводници за макет
Стъпка 2: Създаване на Mega-isp програмист на макета
Има два начина да свържете вашия Arduino, за да програмирате чип.
Можете да включите вашия avr чип към макет и да свържете 5v и GND към съответните щифтове (проверете листа с данни!) + Издърпващ резистор за нулиране и свързване на щифтове от вас arduino към чипа. Това са линиите на Arduino и тяхната функция 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Нулиране) Или можете да направите 2x3pin ISP заглавка, която можете да включите в платка, която осигурява една (друга платка arduino). Разпилката за заглавката на ISP е на третото изображение. Има 3 светодиода, които показват състоянието на програмиста. щифт 9 - син светодиод - това е сърцето на програмиста. щифт 8 - червен светодиод - показва грешка щифт 7 - зелен светодиод - показва, че програмирането се извършва (бях мързелив, така че не съвпаднах с цветовете в моята настройка) Ето чертежите, направени във Fritzing Можете също така да направите Щит MEGA-isp. Ярослав Осадчий проектира щита в орел. Можете да получите файловете на орела на неговия сайт:
Стъпка 3: Качване на скицата
Изтеглете скицата от мега-isp кода на Google. (Avrisp.03.zip по време на писането). Разопаковайте го и стартирайте arduino ide и отворете avrisp.pde. Качете го на дъската си arduino. LED пулса трябва да започне да бие.
Стъпка 4: Използване с Avrdude
За да използвате с avrdude (и всички графични интерфейси, които го използват), трябва да изберете програмиста „avrisp“. най -сигурният битрейт е 19200.
За да тествате новия си atmega168 от командния ред, опитайте: $ avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 /dev /USB0 е портът, който arduino е свързан към моя linux box (вашият може да е com5). Това може да се провери в arduino IDE в Инструменти -> Сериен порт. Трябва да получите: [kabturek@hal -9000 ~]# avrdude -p m168 -P /dev /ttyUSB0 -c avrisp -b 19200 avrdude: AVR устройството е инициализирано и готово да приеме инструкции Четене | ################################################# | 100% 0.13s avrdude: Подпис на устройството = 0x1e9406 avrdude: safemode: Предпазителите OK avrdude направено. Благодаря ти. Това означава, че всичко е наред. Ако получите грешки - проверете последната стъпка.
Стъпка 5: Записване на фърмуера на USBtinyISP към Attiny2313
USBTinyISP е страхотен програмист от LadyAda, който е наистина евтин - 22 $. Имах резервен attiny2313 и някои части, затова реших сам да си направя такъв. Ако нямате опит в производството на печатни платки, съветвам ви да закупите комплекта, защото той е по -качествен, отколкото можете да направите сами:). Поне купете печатната платка, ако искате да я изградите. Можете да го получите от Adafruit. Свържете ATtiny2313 На последната снимка можете да видите attiny2313 с щифтовете, използвани за ISP в червено. Снимката е от лекция за AUD на LadyAda. Записване на фърмуера: Разопаковайте фърмуера на USBTinyISP. Отидете на spi dir и стартирайте $ avrdude -p pt2313 -P /dev /ttyUSB0 -c avrisp -b 19200, за да проверите дали всичко е наред с чипа. Сега настройте предпазителите: $ avrdude -P /dev /ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse: w: 0xdf: m -U lfuse: w: 0xef: m Сега трябва да свържете 12mhz външен осцилатор към чипа. И запишете фърмуера: $ avrdude -B 1 -pt2313 -U флаш: w: main.hex -P /dev /ttyUSB0 -c avrisp -b 19200 Voila. Вашият attiny2313 има фърмуера на USBTinyISP.
Стъпка 6: Записване на Arduino Bootloader
Изневерих малко, защото използвах RBBB, за да опростя връзките. Схемата е на снимка №2. Ако използвате 2 arduino, използвайте снимката #3 и свържете ISP щифта към ICSP 2x3header на втория (slave) arduino. Само свържете usb захранването към първата платка. Начинът на GUI Това е малко сложно, защото не можете просто да използвате Tools-> Burn Bootloader-> w/ AVR ISP, защото скоростта по подразбиране е твърде голяма за mega-isp. Намерете avrdude.; desc = "Atmel AVR ISP"; бодрейт = 115200; # по подразбиране е 115200 тип = stk500;; към: програмист id = "avrisp"; desc = "Atmel AVR ISP"; бодрейт = 19200; # по подразбиране е 115200 тип = stk500;; Сега можете да използвате Tools -> Burn Bootloader -> w/AVR ISP (след като изберете правилната платка от менюто Tools) Commanline Можете също да използвате командния ред: Редактиране на arduino/hardware/bootloaders/atmega/Makefile и промяна на ISPTOOL/PORT /SPEED за: # въведете параметрите за avrdude isp инструмента ISPTOOL = avrisp ISPPORT = /dev /ttyUSB0 ISPSPEED = -b 19200 не можете да напишете $ make diecimila_isp за изгаряне на предпазители и буутлоудъра. изгори мигащото!
Стъпка 7: Отстраняване на неизправности
Грешки в Avrdude: avrdude: ser_open (): не може да отвори устройството "/dev/ttyUSB0": Няма такъв файл или директория Имате посочен грешен порт (-P) или вашето arduino не е свързано. проверете връзката avrdude: Подпис на устройството = 0x000000 avrdude: Браво! Невалиден подпис на устройството. Проверете отново връзките и опитайте отново или използвайте -F, за да отмените тази проверка. Това е някаква обща грешка. Чипът ви не се разпознава. Проверете връзката на платката (GND/5V, свързана с пинове?) Ще получите тази грешка, когато чипът ви е конфигуриран да използва външен осцилатор и той не работи (няма такъв или не е осцилиращ правилно - 22pf капачки липсва?)
Препоръчано:
Как да програмирате Arduino Mega 2560 Core?: 3 стъпки
Как да програмирате Arduino Mega 2560 Core ?: Намерих тази страхотна мега дъска Arduino с малък форм -фактор в ebay. Това е по -малка версия на Arduino mega 2560 и очевидно се нарича Arduino mega core … Имаше обаче един проблем! Той не включва USB връзка и няма много в
Как да програмирате ESP32 M5Stack StickC с Arduino IDE и Visuino: 12 стъпки
Как да програмирате ESP32 M5Stack StickC с Arduino IDE и Visuino: В този урок ще се научим как да програмираме ESP32 M5Stack StickC с Arduino IDE и Visuino. Гледайте демонстрационен видеоклип
Как да програмирате Arduino Pro Mini с Arduino Uno: 4 стъпки
Как да програмирате Arduino Pro Mini с Arduino Uno: Написах това като част от друг проект, но след това реших да използвам Pro Micro, който може да бъде програмиран директно от лаптопа. Това обаче може да бъде полезно някой ден (или на някого), така че Ще го оставя тук
Как да програмирате Arduino Pro Mini с помощта на Arduino UNO .: 4 стъпки
Как да програмирате Arduino Pro Mini с помощта на Arduino UNO.: Здравейте момчета, днес споделям прост метод за програмиране на Arduino Pro mini с помощта на Arduino UNO. Този урок е за тези, които започват да работят с arduino и искат да намалят размера на своя проект, като използват Arduino Pro mini.Arduino Pro mini
Как да програмирате AVR платка с помощта на дъска Arduino: 6 стъпки
Как да програмирате AVR платка с помощта на Arduino Board: Имате ли AVR микроконтролерна платка наоколо? Трудно ли е да го програмирате? Е, вие сте на правилното място. Тук ще ви покажа как да програмирате платка за микроконтролер Atmega8a, използвайки дъска Arduino Uno като програмист. Така че безсмислено