Å installere en bootloader er det første trinnet i å bringe Arduino-prosjektene dine til live. Dette er et stykke programvare som hjelper deg ofte å laste opp Arduino-skisser med letthet til brettet uten behov for spesielt programmeringsutstyr.
Selv om dette kan høres ut som rakettvitenskap, er det faktisk enklere enn du kanskje tror - selv for nybegynnere. Vi viser deg hvordan du enkelt installerer (eller reinstallerer) en bootloader på Arduino-kortet ditt med bare noen få enkle trinn.
Men først, hva er egentlig en bootloader på Arduino-brettet?
Hva er en bootloader?
En Arduino bootloader er et lite program som er lagret i brettets ikke-flyktige minne som kjøres hver gang brettet slås på, lastes opp med ny kode eller tilbakestilles. Hver gang bootloader-programmet kjøres, initialiserer det brettets maskinvare og laster deretter hovedskissen eller programmet som er lagret i brettets flashminne.
Det er verdt å merke seg at alle Arduino-brett leveres med en forhåndsinstallert bootloader fra produsentene. Det kan hende du finner brett med defekte bootloadere rett ut av esken noen ganger. Dette skjer imidlertid sjelden.
Hvorfor bruke en bootloader?
Det er flere situasjoner der det kan være nyttig å bruke en Arduino bootloader. For eksempel, hvis du er nybegynner på Arduino-plattformen, kan bruk av en bootloader gjøre det enklere og raskere å laste opp nye programmer til brettet ditt. Dette er fordi du ikke trenger å bruke eksterne programmeringsenheter, for eksempel en programmerer eller en USB-til-seriell-omformer, for å laste opp koden.
Hvis du jobber med et prosjekt som krever hyppige oppdateringer av koden, vil du finne det veldig nyttig. I dette tilfellet kan bruk av en bootloader spare deg for tid og krefter, siden du ganske enkelt kan laste opp den nye koden til brettet uten å måtte bruke eksterne programmeringsenheter.
I tillegg, hvis du jobber med en prosjekt som krever Arduino å være i en bestemt tilstand når den er slått på, for eksempel å kjøre et bestemt program, så kan det være nyttig å bruke en oppstartslaster. Bootloaderen lar deg stille inn starttilstanden til brettet slik at det automatisk kjører ønsket program når det slås på.
Til slutt gir det en måte å gjenopprette Arduino hvis hovedskissen blir ødelagt eller på annen måte ikke kjører.
Hvorfor mangler bootloaderen min?
Det kan være fire mulige årsaker til at styret ditt kan trenge en ny bootloader:
- Ingen forhåndsinstallert bootloader: Det er ganske vanlig å ha mange ATMEGA328P frittstående prosjekter der du lodder brikken på et PCB og tilfeldigvis steker brikken. Det kan dermed være mulig at du erstattet brettet med en brikke uten forutgående installasjon av bootloader.
- Byttet bootloader: Du kan ha erstattet oppstartslasteren med en modifisert tredjeparts oppstartslaster som kan være ødelagt.
- Ødelagt bootloader: Dette er det minst sannsynlige scenariet. I noen tilfeller kan imidlertid Arduino-flashminnet bli ødelagt.
- Utvidet minne: Hvis du erstattet (flashet) hele oppstartslasteren med applikasjonen din for å nyte de gjenværende 2K med programminne, mangler oppstartslasteren definitivt.
Her er hva du må gjøre.
Installere/installere Arduino Bootloader på nytt
Mikrokontrollere programmeres vanligvis før de loddes på et PCB. Dette gjøres vanligvis ved hjelp av In-System Programming (ISP), for eksempel In-Circuit Serial Programming (ICSP), som gjør at mikrokontrolleren kan programmeres ved hjelp av en ekstern programmerer. Mange mikrokontrollerprodusenter, som Atmel og Microchip, har en ISP-header på tavlene deres for dette formålet.
Bruke et annet Arduino-brett
For å flashe oppstartslasteren på en ATmega328-mikrokontroller, må du bruke ICSP-headeren på brettet før du kan installere bootloaderen ved å bruke det andre brettet som en ISP-programmerer.
Start Arduino IDE, naviger til ArduinoISP som vist nedenfor, og last opp eksempelkoden til kortet du har tenkt å bruke som programmerer. (Følg videoopplæringen for maskinvareoppkobling).
Koden skal se slik ut bare slik at du vet at du er på rett spor.
Fra Verktøy fanen, gå til Programmerer klikk deretter på Arduino som ISP som vist under.
Til slutt, fra Verktøy fanen igjen, klikk på Brenn Bootloader som vist.
Når prosessen er fullført, er måltavlen nå klar til å programmeres.
Bruke en dedikert programmerer
Det er mange AVR-programmeringsenheter tilgjengelig for denne typen installasjon. Et godt alternativ du kan prøve er AVR Pocket Programmer (kun Windows) basert på Dick Streeflands Liten USB og Limor Fried's USBtinyISP. Det tilbyr en enklere måte å programmere AVR-mikrokontrollere på, som de som finnes på Arduino-kort. Bortsett fra det faktum at den drives av en USB-tilkobling, er det det beste alternativet fordi det er det kompatibel med en rekke programmeringsspråk og programvare, noe som gjør det til et allsidig verktøy for alle Arduino bruker.
Du kan også prøve andre alternativer som den offisielle Atmel-ICE-programmereren for ARM-mikrokontrollere - spesielt hvis du ikke er på Windows.
Koble Arduino-kortet til programmereren og flash oppstartslasteren. Se denne videoopplæringen nedenfor.
Prosessen skal være enkel og ikke ta mer enn 20 sekunder.
Merk: Målkortet bør slås på ordentlig før du prøver denne metoden. Ellers vil du ikke kunne blinke .hex fil til målet ditt.
For avanserte brukere er det en mer kompleks måte å installere oppstartslasteren på ved hjelp av kommandolinjen. Det er ikke nødvendig å komme til dette stadiet, men det gir deg muligheten til å endre eller kompilere koden på nytt for å få en mer tilpasset opplevelse.
Det første trinnet i prosessen er å konfigurere sikringsbitene, som er en del av AVR-brikken, og kontrollere innstillinger som bruk av en ekstern krystall. Bruk følgende kommando for å sette sikringsbitene dine:
avrdude-b 19200 -cusbtiny-sm328p-v-e-Uefuse:w:0x05:m-Uhfuse:w:0xD6:m-Ulfuse:w:0xFF:m
Etter at sikringsbitene er konfigurert, er neste trinn å overføre en kompilert .hex-fil til målkortet og sette låsebitene. Dette vil tillate deg å kjøre programmet på brettet. Sørg for at du er i samme katalog som optiboot_atmega328.hex fil før du taster inn denne kommandoen:
avrdude-b 19200 -cusbtiny-sm328p-v-e-Ublits:w:hexfilnavn.hex-Ulåse:w:0x0F:m
Merk: Disse kommandoene er for Arduino Uno. Du må refaktorere sikringsbitene for brettet ditt som finnes i board.txt fil og finjuster AVRDUDEs delenummerparametere også for dem å jobbe.
Hva vil du gjøre med Arduino neste gang?
Arduino bootloader er det som gjør det så enkelt å programmere, selv for nybegynnere. Du kan nå forhåpentligvis laste opp dine egne skisser til Arduino og gjenopprette bootloaderen for fremtidige Arduino DIY-prosjekter.