Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Instaliranje bootloadera je prvi korak u oživljavanju vaših Arduino projekata. Ovo je dio softvera koji vam pomaže da često s lakoćom učitavate Arduino skice na ploču bez potrebe za posebnom opremom za programiranje.

Iako ovo može zvučati kao raketna znanost, zapravo je jednostavnije nego što mislite - čak i za početnike. Pokazat ćemo vam kako jednostavno instalirati (ili ponovno instalirati) bootloader na vašu Arduino ploču u samo nekoliko jednostavnih koraka.

Ali prvo, što je točno bootloader na Arduino ploči?

Što je Bootloader?

Arduino bootloader je mali program koji je pohranjen u trajnoj memoriji ploče koji se izvršava svaki put kada se ploča uključi, učita s novim kodom ili se resetira. Kad god se pokrene program za pokretanje, on inicijalizira hardver ploče i zatim učitava glavnu skicu ili program koji je pohranjen u flash memoriji ploče.

Vrijedno je napomenuti da se sve Arduino ploče isporučuju s unaprijed instaliranim bootloaderom od svojih proizvođača. Ponekad možete pronaći ploče s neispravnim programima za podizanje sustava. Međutim, to se rijetko događa.

instagram viewer

Zašto koristiti Bootloader?

Postoji nekoliko situacija u kojima korištenje Arduino bootloadera može biti korisno. Na primjer, ako ste početnik u Arduino platformi, korištenje bootloadera može olakšati i ubrzati učitavanje novih programa na vašu ploču. To je zato što ne morate koristiti vanjske uređaje za programiranje, kao što je programator ili pretvarač USB-u-serijski, da biste učitali svoj kod.

Ako radite na projektu koji zahtijeva česta ažuriranja koda, bit će vam vrlo koristan. U ovom slučaju, korištenje bootloadera može vam uštedjeti vrijeme i trud, jer možete jednostavno učitati novi kod na ploču bez potrebe za korištenjem vanjskih uređaja za programiranje.

Osim toga, ako radite na projekt koji zahtijeva Arduino biti u određenom stanju kada je uključen, kao što je pokretanje određenog programa, tada korištenje bootloadera može biti korisno. Bootloader vam omogućuje da postavite početno stanje ploče tako da će automatski pokrenuti željeni program kada se uključi.

Na kraju, pruža način oporavka Arduina ako se glavna skica ošteti ili se na drugi način ne uspije pokrenuti.

Zašto moj bootloader nedostaje?

Mogu postojati četiri moguća razloga zašto bi vašoj ploči trebao novi bootloader:

  1. Nema unaprijed instaliranog pokretačkog programa: Prilično je uobičajeno imati mnogo samostalnih projekata ATMEGA328P u kojima zalemite svoj čip na PCB i dogodi se da spržite čip. Stoga je moguće da ste zamijenili ploču čipom bez prethodne instalacije bootloadera.
  2. Zamijenjen bootloader: Mogli ste zamijeniti svoj bootloader modificiranim bootloaderom treće strane koji bi mogao biti oštećen.
  3. Oštećen bootloader: Ovo je najmanje vjerojatan scenarij. Međutim, u nekim se slučajevima Arduino flash memorija može oštetiti.
  4. Proširena memorija: Ako ste zamijenili (flashirali) cijeli bootloader sa svojom aplikacijom da biste uživali u preostalih 2K programske memorije, vaš bootloader definitivno nedostaje.

Evo što trebate učiniti.

Instaliranje/ponovno instaliranje Arduino Bootloadera

Mikrokontroleri se obično programiraju prije nego što se zaleme na PCB. To se obično radi pomoću programiranja unutar sustava (ISP), kao što je serijsko programiranje unutar kruga (ICSP), koje omogućuje programiranje mikrokontrolera pomoću vanjskog programatora. Mnogi proizvođači mikrokontrolera, kao što su Atmel i Microchip, u tu svrhu osiguravaju ISP zaglavlje na svojim pločama.

Korištenje druge Arduino ploče

Kako biste pokrenuli bootloader na ATmega328 mikrokontroleru, trebate koristiti ICSP zaglavlje na ploči prije nego što možete instalirati bootloader koristeći drugu ploču kao ISP programator.

Pokrenite Arduino IDE, idite na ArduinoISP kao što je prikazano u nastavku, i prenesite primjer koda na ploču koju namjeravate koristiti kao programer. (Slijedite video upute za spajanje hardvera).

Kod bi trebao izgledati ovako samo da znate da ste na pravom putu.

Od Alati karticu, idite na Programer zatim kliknite na Arduino kao ISP kako je prikazano dolje.

Konačno, iz Alati ponovno kliknite na karticu Snimi Bootloader kao što je prikazano.

Nakon što je proces završen, ciljna ploča je sada spremna za programiranje.

Korištenje namjenskog programera

Postoji mnogo AVR uređaja za programiranje dostupnih za ovu vrstu instalacije. Jedna dobra opcija koju možete isprobati je AVR Pocket Programmer (samo Windows) temeljen na Dick Streeflandovom USBtiny i Limora Frieda USBtinyISP. Nudi jednostavniji način programiranja AVR mikrokontrolera, poput onih koji se nalaze na Arduino pločama. Osim činjenice da se napaja USB vezom, to je najbolja opcija jer je kompatibilan s nizom programskih jezika i softvera, što ga čini svestranim alatom za sve Arduino korisnik.

Također možete isprobati druge opcije kao što je službeni Atmel-ICE programator za ARM mikrokontrolere—posebno ako ne koristite Windows.

Spojite Arduino ploču na programator i flash bootloader. Pogledajte ovaj video vodič u nastavku.

Postupak bi trebao biti jednostavan i ne bi trebao trajati više od 20 sekundi.

Bilješka: Ciljna ploča bi trebala biti pravilno uključena prije pokušaja ove metode. U protivnom nećete moći flashirati .hex datoteku na cilj.

Za iskusne korisnike postoji složeniji način instaliranja bootloadera pomoću naredbenog retka. Nije nužno doći do ove faze, ali vam daje moć modificiranja ili ponovnog kompajliranja koda kako biste dobili više prilagođeno iskustvo.

Prvi korak u procesu je konfiguracija bitova osigurača, koji su dio AVR čipa, i kontrola postavki kao što je upotreba vanjskog kristala. Koristite sljedeću naredbu za postavljanje osigurača:

avrdude-b 19200 -cusbtiny-strm328p-v-e-Ubježati:w:0x05:m-Uosigurač:w:0xD6:m-Ulfuse:w:0xFF:m

Nakon što su bitovi osigurača konfigurirani, sljedeći korak je prijenos kompajlirane .hex datoteke na ciljnu ploču i postavljanje bitova za zaključavanje. To će vam omogućiti pokretanje programa na ploči. Provjerite jeste li u istom imeniku kao i optiboot_atmega328.hex datoteku prije unosa ove naredbe:

avrdude-b 19200 -cusbtiny-strm328p-v-e-Ubljesak:w:heximedatoteke.hex-Uzaključati:w:0x0F:m

Bilješka: Ove naredbe su za Arduino Uno. Morat ćete refaktorirati bitove osigurača za svoju ploču koji se nalaze u ploča.txt datoteku i podešavanje Parametri broja dijela AVRDUDE kao i za njih da rade.

Što ćete sljedeće učiniti s Arduinom?

Arduino bootloader je ono što ga čini tako lakim za programiranje, čak i za početnike. Sada se nadamo da možete prenijeti svoje vlastite prilagođene skice na Arduino i vratiti bootloader za buduće Arduino DIY projekte.