Hva er en Arduino® bootloader?
Arduino® bootloader er et lite stykke programvare brent inn i en chip i alle Arduino®-tavler. Hensikten er å lette enkel og rask omprogrammering. Arduino® bootloader er åpen kildekode, noe som betyr at den fritt kan kopieres, modifiseres og omfordeles, og er bare nyttig på Arduino®-systemer.
Bootloaders er små programvare som kjøres når en datamaskin først slås på. De fleste stasjonære datamaskiner bruker en bootloader for å laste datamaskinens operativsystem i minnet eller for å starte operativsystemet langs selve innlastningsbanen. På maskiner som er konfigurert til å starte opp flere operativsystemer, tjener en opplaster også til å be brukeren velge hvilket operativsystem han skal bruke. Til tross for deres relative enkelhet, er Arduino®-enheter i hovedsak svært små generelle datamaskiner og krever en startlaster når den er slått på.
Standard Arduino® bootloader kjører gjennom en sekvens for å bestemme hvilken programvare som skal lastes inn i korttidsminne. Hvis brettet er koblet til en datamaskin med USB-kabel, Xbee®-radio eller seriell tilkobling, vil bootloader prøve å laste ned ny programvare fra datamaskinen. Arduino®-programmer er også referert til som Arduino®-skisser. Når skissen er lastet ned, blir den skrevet inn i langtidsminnet og deretter lastet tilbake i korttidsminnet for å kjøre. Hvis brettet ikke er koblet til en datamaskin, eller hvis det ikke klarer å laste ned ny programvare, vil det laste det sist skrevne programmet fra langtidsminnet.
En Arduino® bootloader er spesielt nyttig fordi den eliminerer behovet for en ekstern programmeringsenhet, som vanligvis er nødvendig for å endre programvaren på lignende enheter. Arduino®-oppfinnelser kjører vanligvis programvaren deres direkte fra brikkene uten fordelen med magnetiske lagringsenheter. Denne tilnærmingen er raskere og billigere enn å bruke magnetisk lagring. Den største ulempen med en bootloader er at den bruker noe av den begrensede plassen på chips, og minimerer den tilgjengelige plassen for programvare.
Noen brukere har blitt frustrerte over begrensningene til Arduino®-startlasteren og tyr til å bruke en ekstern programmeringsenhet for å fjerne bootloader og manuelt legge til nye programmer. Selv om denne teknikken øker ledig plass og øker utføringshastigheten til programvare noe, er den ganske tidkrevende og anbefales ikke for de fleste brukere. Andre brukere har skrevet alternative Arduino®-lastere, hvorav noen er åpen kildekode og gratis tilgjengelig online.