Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

Installation af en bootloader er det første skridt i at bringe dine Arduino-projekter ud i livet. Dette er et stykke software, der hjælper dig med hyppigt at uploade Arduino-skitser med lethed til boardet uden behov for specielt programmeringsudstyr.

Selvom dette kan lyde som raketvidenskab, er det faktisk enklere, end du måske tror - selv for begyndere. Vi viser dig, hvordan du nemt installerer (eller geninstallerer) en bootloader på dit Arduino-kort med nogle få enkle trin.

Men først, hvad er egentlig en bootloader på Arduino-kortet?

Hvad er en bootloader?

En Arduino bootloader er et lille program, der er gemt i boardets ikke-flygtige hukommelse, der bliver udført hver gang boardet tændes, uploades med ny kode eller nulstilles. Når bootloader-programmet udføres, initialiserer det kortets hardware og indlæser derefter hovedskitsen eller programmet, der er gemt i kortets flashhukommelse.

instagram viewer

Det er værd at bemærke, at alle Arduino boards leveres med en forudinstalleret bootloader fra deres producenter. Du kan nogle gange finde boards med defekte bootloadere lige ud af boksen. Dette sker dog sjældent.

Hvorfor bruge en bootloader?

Der er flere situationer, hvor det kan være nyttigt at bruge en Arduino bootloader. For eksempel, hvis du er nybegynder til Arduino-platformen, kan brug af en bootloader gøre det nemmere og hurtigere at uploade nye programmer til dit board. Dette skyldes, at du ikke behøver at bruge eksterne programmeringsenheder, såsom en programmør eller en USB-til-seriel-konverter, for at uploade din kode.

Hvis du arbejder på et projekt, der kræver hyppige opdateringer af koden, vil du finde det meget nyttigt. I dette tilfælde kan brug af en bootloader spare dig tid og kræfter, da du blot kan uploade den nye kode til boardet uden at skulle bruge eksterne programmeringsenheder.

Derudover, hvis du arbejder på en projekt, der kræver Arduino at være i en bestemt tilstand, når den er tændt, såsom at køre et bestemt program, så kan det være nyttigt at bruge en bootloader. Bootloaderen giver dig mulighed for at indstille starttilstanden for kortet, så det automatisk kører det ønskede program, når det tændes.

Til sidst giver det en måde at gendanne Arduino, hvis hovedskitsen bliver ødelagt eller på anden måde ikke kører.

Hvorfor mangler min bootloader?

Der kan være fire mulige årsager til, at dit board muligvis har brug for en ny bootloader:

  1. Ingen forudinstalleret bootloader: Det er ret almindeligt at have mange ATMEGA328P selvstændige projekter, hvor du lodder din chip på et printkort og tilfældigvis steger chippen. Det kan således være muligt, at du har udskiftet boardet med en chip uden forudgående installation af bootloader.
  2. Udskiftet bootloader: Du kunne have erstattet din bootloader med en modificeret tredjeparts bootloader, der kunne være beskadiget.
  3. Ødelagt bootloader: Dette er det mindst sandsynlige scenarie. I nogle tilfælde kan Arduino-flashhukommelsen dog blive ødelagt.
  4. Udvidet hukommelse: Hvis du udskiftede (flashede) hele bootloaderen med dit program for at nyde de resterende 2K programhukommelse, mangler din bootloader helt sikkert.

Her er, hvad du skal gøre.

Installation/geninstallation af Arduino Bootloader

Mikrocontrollere programmeres typisk, før de loddes på et printkort. Dette gøres typisk ved hjælp af In-System Programming (ISP), såsom In-Circuit Serial Programming (ICSP), som gør det muligt at programmere mikrocontrolleren ved hjælp af en ekstern programmør. Mange mikrocontroller-producenter, såsom Atmel og Microchip, leverer en ISP-header på deres tavler til dette formål.

Brug af et andet Arduino-bræt

For at flashe bootloaderen på en ATmega328 mikrocontroller, skal du bruge ICSP-headeren på kortet, før du kan installere bootloaderen ved at bruge det andet board som en ISP-programmør.

Start Arduino IDE, naviger til ArduinoISP som vist nedenfor, og upload eksempelkoden til det board, du har tænkt dig at bruge som programmør. (Følg videovejledningen til hardware-tilslutning).

Koden skal se sådan ud, bare så du ved, at du er på rette vej.

Fra Værktøjer fane, gå til Programmer klik derefter på Arduino som internetudbyder som vist nedenfor.

Endelig fra Værktøjer fanen igen, klik på Brænd Bootloader som vist.

Når processen er afsluttet, er målkortet nu klar til at blive programmeret.

Brug af en dedikeret programmør

Der er mange AVR-programmeringsenheder tilgængelige til denne form for installation. En god mulighed, du kan prøve, er AVR Pocket Programmer (kun Windows) baseret på Dick Streeflands Lille USB og Limor Fried's USBtinyISP. Det tilbyder en enklere måde at programmere AVR-mikrocontrollere på, som dem der findes på Arduino-kort. Bortset fra det faktum, at det er drevet af en USB-forbindelse, er det den bedste mulighed, fordi det er kompatibel med en række programmeringssprog og software, hvilket gør det til et alsidigt værktøj til enhver Arduino bruger.

Du kan også prøve andre muligheder som den officielle Atmel-ICE-programmør til ARM-mikrocontrollere - især hvis du ikke er på Windows.

Tilslut Arduino-kortet til programmøren og flash bootloaderen. Se denne videovejledning nedenfor.

Processen skal være enkel og ikke tage mere end 20 sekunder.

Bemærk: Målkortet skal være tændt korrekt, før du forsøger denne metode. Ellers vil du ikke være i stand til at blinke .hex fil til dit mål.

For superbrugere er der en mere kompleks måde at installere bootloaderen på ved hjælp af kommandolinjen. Det er ikke nødvendigt at komme til dette stadie, men det giver dig mulighed for at ændre eller genkompilere koden for at få en mere tilpasset oplevelse.

Det første trin i processen er at konfigurere sikringsbittene, som er en del af AVR-chippen, og styre indstillinger såsom brugen af ​​en ekstern krystal. Brug følgende kommando til at indstille dine sikringsbits:

avrdude-b 19200 -cusbtiny-sm328p-v-e-Uefuse:w:0x05:m-Uhfuse:w:0xD6:m-Ulunte:w:0xFF:m

Efter at sikringsbittene er blevet konfigureret, er næste trin at overføre en kompileret .hex-fil til målkortet og indstille låsebittene. Dette giver dig mulighed for at køre programmet på tavlen. Sørg for, at du er i samme mappe som optiboot_atmega328.hex fil, før du indtaster denne kommando:

avrdude-b 19200 -cusbtiny-sm328p-v-e-Ublitz:w:hexfilnavn.hex-Ulåse:w:0x0F:m

Bemærk: Disse kommandoer er til Arduino Uno. Du bliver nødt til at refaktorere sikringsbitsene til dit board, der findes i board.txt fil og tweak AVRDUDEs varenummerparametre også for dem at arbejde.

Hvad vil du gøre med Arduino næste gang?

Arduino bootloaderen er det, der gør det så nemt at programmere, selv for begyndere. Du kan nu forhåbentlig uploade dine egne brugerdefinerede skitser til Arduino og gendanne bootloaderen til fremtidige Arduino DIY-projekter.