Ce este un Arduino® Bootloader?

Arduino® bootloader este o mică bucată de software inscripționată într-un cip din toate plăcile Arduino®. Scopul său este de a facilita o reprogramare ușoară și rapidă. Arduino® bootloader este open source, ceea ce înseamnă că poate fi copiat, modificat și redistribuit liber și este util doar pe sistemele Arduino®.

Bootloaderele sunt mici bucăți de software care rulează la prima pornire a computerului. Majoritatea computerelor desktop folosesc un bootloader pentru a încărca sistemul de operare al computerului în memorie sau pentru a porni sistemul de operare pe calea încărcării. Pe mașinile configurate pentru a porni mai multe sisteme de operare, un bootloader servește și pentru a cere utilizatorului să selecteze ce sistem de operare să folosească. În ciuda simplității lor relative, dispozitivele Arduino® sunt, în esență, computere de uz general foarte mici și necesită un bootloader atunci când sunt pornite.

Bootloader-ul Arduino® implicit rulează printr-o secvență pentru a determina ce software să se încarce în memoria pe termen scurt. Dacă placa este atașată la un computer prin cablu USB, radio Xbee® sau conexiune serială, bootloader-ul va încerca să descarce software nou de pe computer. Programele Arduino® sunt denumite și schițe Arduino®. Odată ce schița este descărcată, aceasta va fi scrisă în memoria pe termen lung și apoi încărcată înapoi în memoria pe termen scurt pentru a rula. Dacă placa nu este conectată la un computer sau dacă nu reușește să descarce software nou, va încărca cel mai recent program scris din memoria pe termen lung.

Un bootloader Arduino® este deosebit de util deoarece elimină necesitatea unui dispozitiv de programare extern, care este de obicei necesar pentru a schimba software-ul pe dispozitive similare. Invențiile Arduino® își rulează de obicei software-ul direct de pe cipuri, fără avantajul dispozitivelor de stocare magnetice. Această abordare este mai rapidă și mai ieftină decât utilizarea stocării magnetice. Dezavantajul major al unui bootloader este că ocupă o parte din spațiul limitat de pe cipuri, minimizând spațiul disponibil pentru software.

Unii utilizatori au fost frustrați de limitările bootloader-ului Arduino® și recurg la utilizarea unui dispozitiv de programare extern pentru a elimina bootloader-ul și pentru a adăuga manual noi programe. Deși această tehnică mărește spațiul disponibil și crește oarecum viteza de execuție a software-ului, este destul de consumatoare de timp și nu este recomandată pentru majoritatea utilizatorilor. Alți utilizatori au scris bootloadere alternative Arduino®, dintre care unele sunt open source și disponibile gratuit online.