Talaan ng mga Nilalaman:

Paano i-update ang Firmware sa isang Murang USBasp-Clone: 9 Mga Hakbang
Paano i-update ang Firmware sa isang Murang USBasp-Clone: 9 Mga Hakbang

Video: Paano i-update ang Firmware sa isang Murang USBasp-Clone: 9 Mga Hakbang

Video: Paano i-update ang Firmware sa isang Murang USBasp-Clone: 9 Mga Hakbang
Video: Platinum CD Update New Songs Paano Mag update nang CD Para sa bangong Kanta 2024, Hulyo
Anonim
Paano i-update ang Firmware sa isang Murang USBasp-Clone
Paano i-update ang Firmware sa isang Murang USBasp-Clone

Ito ay isang maliit na gabay sa pag-flashing ng bagong firmware sa isang USBasp-clone tulad ng sa akin. Ang gabay na ito ay partikular na nakasulat para sa USBasp-clone na nakikita sa mga larawan, subalit dapat pa rin itong gumana sa iba. Ang mga kable ay ipinakita sa hakbang 5, mayroong isang TL; DR sa hakbang 9.

Mag-enjoy!

Hakbang 1: Ang Suliranin

Ang Suliranin
Ang Suliranin
Ang Suliranin
Ang Suliranin

Sinabi sa akin ni Avrdude na ang programmer na ginagamit ko ay may luma na firmware. Ang normal na lumulukso para sa self-program ay wala sa aking board. Narito kung paano ayusin iyon. Ang mga iskematika para sa USBasp ay matatagpuan sa fischl.de.

Hakbang 2: Kailangan ng Mga Materyales

Kakailanganin mong…

  • Isang bakal na bakal
  • Isang Arduino (mas mabuti ang Nano)
  • Ang ilang mga jumper wires
  • Isang PC na may naka-install na Arduino IDE at avrdude

Hakbang 3: Ang Solusyon

Ang solusyon
Ang solusyon
Ang solusyon
Ang solusyon
Ang solusyon
Ang solusyon

Upang mai-flash namin ang bagong firmware sa ATmega8, kailangan naming makontrol ang RESET pin nito. Karaniwan, ang isang lumulukso sa USBasp ay maaaring sarado upang paganahin ang self-program, subalit ang tagagawa ng aking board ay hindi nagsama ng isa.

Sa ATmega8, ang RESET pin ay pin 29, ang ika-apat na pin sa itaas mula sa kaliwa. Ito ay konektado sa isang 10k pull-up risistor sa 5V. Kailangan naming ikonekta ito sa pin 5 ng header ng ICSP.

Maaari naming subukang maghinang ng isang kawad nang direkta sa risistor o sa mismong pin, subalit ito ay nakakapagod at maaaring makapinsala sa iyong board. (Sinubukan ko ito at tinanggal ang resistor na pull-up, hindi ko ito inirerekumenda) Gayundin, may isang mas madaling paraan!

Kahit na ang tagagawa ay hindi nagsama ng isang tunay na lumulukso upang paganahin ang self-program, inilagay niya ang isang header sa ilalim ng microcontroller. Maaari lamang kaming maghinang ng isang wire sa kabuuan at …

Hakbang 4: Voilà

Voilà!
Voilà!

Nakakonekta namin ang dalawang pag-reset ng mga pin! Ang dalawang butas sa ilalim ay kumonekta sa pin 29 at pin 14 ng microcontroller.

Hakbang 5: Pag-set up ng Arduino

Upang mai-flash ang bagong firmware sa programmer, kailangan namin ng isa pang programmer, sa kasong ito isang Arduino na may sketch ng ArduinoISP dito. Siguraduhin lamang na ang iyong pag-set up ay pareho, mangyaring i-uncomment ang linya 81

// #define USE_OLD_STYLE_WIRING

Ngayon ikonekta ang Arduino gamit ang header ng ICSP sa iyong programmer.

Arduino USBasp

5V Pin 2 (VCC) GND Pin 4/6/8/10 (GND) Pin 10 Pin 5 (I-reset) Pin 11 Pin 9 (MISO) Pin 12 Pin 1 (MOSI) Pin 13 Pin 7 (SCK)

Ang USBasp ay mananatiling naka-unplug mula sa PC.

Magbukas ng isang terminal at uri

avrdude -cavrisp -pm8 -b19200 -P [Ang numero ng iyong port ay pupunta dito, dapat ito ay kapareho ng sa Arduino IDE]

Kung tama ang lahat, dapat mag-print ang avrdude ng ilang impormasyon tungkol sa ATmega8 (piyus, lagda, atbp.)

Hakbang 6: Flashing ang ATmega8

Upang mai-flash ang chip, kailangan pa rin namin ang firmware. Tumungo sa fisch.de at i-download ang pinakabagong bersyon. I-extract ang archive at mag-navigate dito gamit ang shell.

Ang pag-iipon ng code ay hindi gumana para sa akin, ngunit mabuti na lang at naglalaman ang archive ng lahat ng naipon na mga programa sa ilalim

basura / firmware

Dito dapat mong makita ang tatlong.hex file. Piliin ang isa na may parehong pangalan sa iyong maliit na tilad. Gumagamit ang aking programmer ng isang ATmega8, kaya't pumili ako

usbasp.atmega8.yyyy-mm-dd.hex

Sa isang gumaganang koneksyon sa ATmega8, ang pag-flash ito ay dapat mangailangan lamang ng pagta-type

avrdude -cavrisp -pm8 -b19200 -P [PORT] -U flash: w: [hex file]

Kung ang lahat ay nagawa nang tama, dapat isulat at i-verify ng avrdude ang napiling firmware.

Hakbang 7: Siguraduhin na gagana ang Programmer

Siguraduhin na gagana ang Programmer
Siguraduhin na gagana ang Programmer

Upang magamit muli ang USBasp bilang isang programmer, kailangan nating alisin ang koneksyon sa pagitan ng pin 29 at pin 14. Ang pagputol ng jumper sa ilalim ay dapat na sapat, subalit ang pag-aalis nito ay hindi rin makakasakit.

Maaari mong subukan ito sa pamamagitan ng pag-plug ito muli sa PC at pagta-type

avrdude -cusbasp -pm8

Kahit na hindi maabot ng avrdude ang target, dapat itong hindi bababa sa kilalanin ang bagong firmware ng aming programmer.

Hakbang 8: Pag-troubleshoot

Pag-troubleshoot
Pag-troubleshoot

Kung dapat magpakita ng error tulad nito, marahil ay may kinalaman ito sa tampok na auto-reset ng Arduino. Upang maiwasan ito, mangyaring magdagdag ng isang capacitor sa pagitan ng RESET at GND ng Arduino. Pangkalahatang inirerekumenda na gumamit ng isang 10µF capacitor, gayunpaman sa aking kaso, isang 100µF capacitor ang gumana nang maayos.

Dapat kang makakuha ng isang error tulad ng

avrdude: error: paganahin ng programm: hindi sumasagot ang target. 1

o isang hindi wastong pirma ay naibalik, mangyaring suriin ang iyong mga kable. Nagkaproblema ako sa aking mga kable ng kuryente na kumakalawang at hindi na nagsasagawa ng kuryente. Inirerekumenda kong suriin muna ang lahat ng mga wire ng lumulukso.

Siguraduhin ding ilipat ang pin 11 at i-pin ang 12 sa Arduino, kung magpapatuloy ang problema.

Mangyaring tiyaking din na itakda ang tamang rate ng baud para sa Arduino bilang ISP, 19200. Maaari itong maitakda kasama ang pagpipilian

-b19200

Kung mayroon kang anumang mga katanungan o nakakita ng isang pagkakamali, mangyaring ipaalam sa akin:)

Hakbang 9: TL; DR

  1. Maghinang ng isang kawad sa kabuuan ng dalawang mga pin sa ilalim ng board
  2. Mag-set up ng isang Arduino bilang ISP, tinitiyak na paganahin ang lumang schema ng mga kable
  3. Ikonekta ang Arduino sa programmer sa pamamagitan ng header ng ICSP
  4. I-flash ang bagong firmware sa programmer
  5. Alisin ang koneksyon sa ibaba
  6. Huwag gupitin ang anumang mga resistensya ng SMD

Inirerekumendang: