Što je Arduino® bootloader?

Arduino® bootloader je mali dio softvera koji je urezan u čip na svim Arduino® pločama. Njegova je svrha olakšati jednostavno i brzo reprogramiranje. Arduino® bootloader je otvorenog koda, što znači da se može slobodno kopirati, modificirati i redistribuirati, a koristan je samo na Arduino® sustavima.

Bootloaderi su mali komadi softvera koji se pokreću kada se računalo prvi put uključi. Većina stolnih računala koristi bootloader za učitavanje operacijskog sustava računala u memoriju ili za pokretanje operacijskog sustava na putu samog učitavanja. Na strojevima konfiguriranim za podizanje više operativnih sustava, bootloader također služi da traži od korisnika da odabere koji će operativni sustav koristiti. Unatoč relativnoj jednostavnosti, Arduino® uređaji su u biti vrlo mala računala opće namjene i zahtijevaju bootloader kada su uključeni.

Zadani Arduino® bootloader prolazi kroz niz kako bi odredio koji softver učitati u kratkoročnu memoriju. Ako je ploča spojena na računalo USB kabelom, Xbee® radiom ili serijskom vezom, bootloader će pokušati preuzeti novi softver s računala. Arduino® programi se također nazivaju Arduino® skice. Nakon što se skica preuzme, bit će zapisana u dugotrajnu memoriju, a zatim učitana natrag u kratkoročnu memoriju za pokretanje. Ako ploča nije spojena na računalo ili ako ne uspije preuzeti novi softver, učitat će posljednji napisani program iz dugotrajne memorije.

Arduino® bootloader je posebno koristan jer eliminira potrebu za vanjskim uređajem za programiranje, koji je obično potreban za promjenu softvera na sličnim uređajima. Arduino® izumi obično pokreću svoj softver izravno s čipova bez prednosti magnetskih uređaja za pohranu. Ovaj pristup je brži i jeftiniji od korištenja magnetske memorije. Glavni nedostatak bootloadera je taj što on koristi dio ograničenog prostora na čipovima, minimizirajući prostor dostupan za softver.

Neki su korisnici frustrirani ograničenjima Arduino® bootloadera i pribjegavaju korištenju vanjskog uređaja za programiranje kako bi uklonili bootloader i ručno dodali nove programe. Iako ova tehnika povećava raspoloživi prostor i donekle povećava brzinu izvršavanja softvera, oduzima dosta vremena i ne preporučuje se većini korisnika. Drugi korisnici su napisali alternativne Arduino® bootloadere, od kojih su neki otvorenog koda i dostupni besplatno na internetu.