Hvad er en Arduino® bootloader?
Arduino® bootloader er et lille stykke software, der brændes ind i en chip i alle Arduino®-kort. Dets formål er at lette nem og hurtig omprogrammering. Arduino® bootloader er open source, hvilket betyder, at den frit kan kopieres, ændres og omfordeles, og den er kun nyttig på Arduino®-systemer.
Bootloadere er små stykker software, der kører, når en computer først tændes. De fleste stationære computere bruger en bootloader til at indlæse computerens operativsystem i hukommelsen eller til at starte operativsystemet langs selve indlæsningsstien. På maskiner, der er konfigureret til at starte flere operativsystemer, tjener en bootloader også til at bede brugeren om at vælge, hvilket operativsystem der skal bruges. På trods af deres relative enkelhed er Arduino®-enheder i det væsentlige meget små computere til generelle formål og kræver en bootloader, når den er tændt.
Standard Arduino® bootloader kører gennem en sekvens for at bestemme, hvilken software der skal indlæses i korttidshukommelse. Hvis kortet er tilsluttet en computer via USB-kabel, Xbee®-radio eller seriel forbindelse, vil bootloader forsøge at downloade ny software fra computeren. Arduino®-programmer kaldes også Arduino®-skitser. Når skitsen er hentet, skrives den i langtidshukommelsen og derefter indlæses i korttidshukommelsen for at køre. Hvis brættet ikke er tilsluttet en computer, eller hvis det ikke downloader ny software, indlæser det det senest skrevne program fra langtidshukommelsen.
En Arduino® bootloader er især nyttig, fordi den eliminerer behovet for en ekstern programmeringsenhed, hvilket normalt kræves for at ændre softwaren på lignende enheder. Arduino® opfindelser kører normalt deres software direkte fra chips uden fordelen med magnetiske lagringsenheder. Denne tilgang er hurtigere og billigere end at bruge magnetisk lagring. Den største ulempe ved en bootloader er, at den bruger noget af den begrænsede plads på chips, hvilket minimerer den disponible plads til software.
Nogle brugere er blevet frustrerede over begrænsningerne af Arduino® bootloader og tager til brug af en ekstern programmeringsenhed til at fjerne bootloader og manuelt tilføje nye programmer. Selvom denne teknik øger den tilgængelige plads og øger udførelseshastigheden af software noget, er den temmelig tidskrævende og anbefales ikke for de fleste brugere. Andre brugere har skrevet alternative Arduino®-bootloadere, hvoraf nogle er open source og er gratis tilgængelige online.